


Les programmeurs lisent-ils encore des romans avec des publicités ?
Certaines personnes ont l'habitude de lire des romans, et lisent occasionnellement quelques chapitres. Ils sont tous publiés par Baidu, mais il y a fondamentalement des publicités très ennuyeuses. Soit ils ajoutent des liens vers le div global, et s'ils sont accidentellement touchés, ils le feront. sauter vers certains sites Web ou même des boucles infinies. Certaines applications mobiles ont aussi beaucoup de publicités, donc je n'ai rien d'autre à faire que d'écrire un petit programme pour éviter les ennuis des publicités
Cet article utilisera php. curl pour collecter la page simple_html_dom analyse pour obtenir une véritable suppression des publicités.
Recherchez un livre sur n'importe quel site Web de roman, mais ce site est particulièrement délicat sur les téléphones mobiles en raison des problèmes ci-dessus :
Prenez simplement ceci Ce roman fera l'opération. (Avertissement : il ne s'agit certainement pas d'une promotion, d'une violation ou d'une suppression)
1. Comprendre la méthode d'obtention de curl
curl est un outil de ligne de commande qui télécharge ou télécharge via. les données URL spécifiées et afficher les données. Le c dans curl signifie client et URL est l'URL.
L'utilisation de cURL en PHP peut implémenter les méthodes de requête Get et Post
Les romans de saisie simples ne nécessitent que la méthode get.
L'exemple de code suivant est un exemple d'obtention du code HTML de la page du roman du premier chapitre via une requête get. Il vous suffit de modifier les paramètres d'URL.
Initialisation, options de paramétrage, vérification du certificat, exécution, arrêt
<?php header("Content-Type:text/html;charset=utf-8"); $url="https://www.7kzw.com/85/85445/27248636.html"; $ch = curl_init($url); //初始化 //设置选项 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//获取的信息以字符串返回,而不是直接输出(必须) curl_setopt($ch,CURLOPT_TIMEOUT,10);//超时时间(必须) curl_setopt($ch, CURLOPT_HEADER,0);// 启用时会将头文件的信息作为数据流输出。 //参数为1表示输出信息头,为0表示不输出 curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); //不验证证书 // 3.执行 $res = curl_exec($ch); // 4.关闭 curl_close($ch); print_r($res); ?>
Les commentaires sont particulièrement détaillés. Suivez les étapes pour envoyer une requête curl get. post request, alors vous devez ajouter un paramètre supplémentaire pour définir l'option de publication, transmettre les paramètres et enfin afficher les informations obtenues. Les résultats en cours d'exécution sont les suivants et il n'y a pas de rendu CSS.
2. Analyser la page
La page de sortie contient beaucoup de contenu inutile, qui doit être extrait. de tout le contenu Pour obtenir le contenu dont nous avons besoin, comme le titre et le contenu de chaque chapitre, nous devons analyser la page.
Il existe de nombreuses façons d'analyser une page. Simple_html_dom est utilisé ici. Vous devez télécharger et référencer la classe simple_html_dom.php, l'objet d'instance et appeler des méthodes internes. Pour des méthodes spécifiques, vous pouvez consulter le site officiel ou d’autres documents sur le site chinois.
Analysez d'abord le code source de cette page de roman et regardez les éléments correspondant au titre et au contenu de ce chapitre
Le premier est le titre : sous h1 sous le nom du livre de classe
Ensuite le contenu : sous le div avec l'identifiant du contenu
simple_html_dom peut utiliser la recherche méthode, similaire à jquery Le sélecteur trouve l'élément positionné. Par exemple :
find('.bookname h1'); //Recherche l'élément de titre h1 sous la classe bookname
find('#content'); Recherchez le contenu du chapitre avec l'identifiant du contenu
Le code est ajouté en fonction de ce qui précède :
include "simple_html_dom.php"; $html = new simple_html_dom(); @$html->load($res); $h1 = $html->find('.bookname h1'); foreach ($h1 as $k=>$v) { $artic['title'] = $v->innertext; } // 查找小说的具体内容 $divs = $html->find('#content'); foreach ($divs as $k=>$v) { $content = $v->innertext; } // 正则替换去除多余部分 $pattern = "/(<p>.*?<\/p>)|(<div .*?>.*?<\/div>)/"; $artic['content'] = preg_replace($pattern,'',$content); echo $artic['title'].'<br>'; echo $artic['content'];
Le contenu obtenu en utilisant la méthode d'analyse ci-dessus est un tableau, utilisez foreach Pour obtenir le contenu du tableau, un remplacement régulier est utilisé pour supprimer la publicité textuelle dans le texte, et le titre et le contenu du roman sont placés dans le tableau. La façon la plus simple de l'écrire est de le faire. Les résultats d'exécution sont les suivants :
Bien sûr, cette façon d'écrire semble inconfortable, vous pouvez encapsuler vous-même la classe de fonctions. Ce qui suit est un exemple de code que j'ai écrit moi-même. Bien sûr, il y a certainement des lacunes, mais il peut être utilisé comme référence pour l'expansion.
<?php include "simple_html_dom.php"; include "mySpClass.php"; header("Content-Type:text/html;charset=utf-8"); $get_html = get_html($_GET['n']); $artic = getContent($get_html); echo $artic['title'].'<br>'; echo $artic['content']; /** * 获取www.7kzw.com 获取每一章的页面html * @param type $num 第几章,从第一开始(int) * @return 返回字符串 */ function get_html($num){ $start = 27248636; $real_num = $num+$start-1; $url = 'https://www.7kzw.com/85/85445/'.$real_num.'.html'; $header = [ 'User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0' ]; return mySpClass()->getCurl($url,$header); } /** * 获取www.7kzw.com小说标题数组 * @param type $get_html 得到的每一章的页面html * @return 返回$artic数组,['title'=>'','content'=>''] */ function getContent($get_html){ $html = new simple_html_dom(); @$html->load($get_html); $h1 = $html->find('.bookname h1'); foreach ($h1 as $k=>$v) { $artic['title'] = $v->innertext; } // 查找小说的具体内容 $divs = $html->find('#content'); foreach ($divs as $k=>$v) { $content = $v->innertext; } // 正则替换去除多余部分 $pattern = "/(<p>.*?<\/p>)|(<div .*?>.*?<\/div>)/"; $artic['content'] = preg_replace($pattern,'',$content); return $artic; } ?>
Le résultat final de l'exemple de code ci-dessus : entrez le numéro dans le chapitre et transmettez les paramètres via $_GET['n']
Résumé :
Points de connaissance : curl (astuces : le module curl collecte n'importe quelle classe php de page Web ), outil d'analyse régulier simple_html_dom
Bien que le La méthode d'écriture a été initialement améliorée, mais il est préférable de déployer votre propre serveur pour obtenir les meilleurs résultats. Sinon, vous ne pouvez le regarder que sur un ordinateur, ce qui n'est pas très pratique. Vous serez peut-être plus disposé à tolérer les publicités.
Ce qui précède contient les détails de l'utilisation de php curl pour collecter des pages et de l'utilisation de simple_html_dom pour les analyser. Pour plus d'informations, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le 3 mars 2022, moins d'un mois après la naissance de Devin, le premier programmeur d'IA au monde, l'équipe NLP de l'Université de Princeton a développé un agent SWE pour programmeur d'IA open source. Il exploite le modèle GPT-4 pour résoudre automatiquement les problèmes dans les référentiels GitHub. Les performances de l'agent SWE sur l'ensemble de tests du banc SWE sont similaires à celles de Devin, prenant en moyenne 93 secondes et résolvant 12,29 % des problèmes. En interagissant avec un terminal dédié, SWE-agent peut ouvrir et rechercher le contenu des fichiers, utiliser la vérification automatique de la syntaxe, modifier des lignes spécifiques et écrire et exécuter des tests. (Remarque : le contenu ci-dessus est un léger ajustement du contenu original, mais les informations clés du texte original sont conservées et ne dépassent pas la limite de mots spécifiée.) SWE-A

Le charme de l'apprentissage du langage C : libérer le potentiel des programmeurs Avec le développement continu de la technologie, la programmation informatique est devenue un domaine qui a beaucoup attiré l'attention. Parmi les nombreux langages de programmation, le langage C a toujours été apprécié des programmeurs. Sa simplicité, son efficacité et sa large application font de l’apprentissage du langage C la première étape pour de nombreuses personnes souhaitant entrer dans le domaine de la programmation. Cet article discutera du charme de l’apprentissage du langage C et de la manière de libérer le potentiel des programmeurs en apprenant le langage C. Tout d’abord, le charme de l’apprentissage du langage C réside dans sa simplicité. Comparé à d'autres langages de programmation, le langage C

520 approche, et il est de nouveau là pour le spectacle annuel des chiens tourmenteurs ! Vous voulez voir comment le code le plus rationnel et la confession la plus romantique peuvent entrer en collision ? Passons en revue le code publicitaire le plus complet et le plus complet un par un pour voir si la romance des programmeurs peut conquérir le cœur de vos déesses ?

本篇文章给大家介绍如何用前端代码实现一个烟花绽放的绚烂效果,其实主要就是用前端三剑客来实现,也就是HTML+CSS+JS,下面一起来看一下,作者会解说相应的代码,希望对需要的朋友有所帮助。

La semaine dernière, nous avons diffusé une émission d'assistance publique en direct sur « 2023PHP Entrepreneurship ». De nombreux étudiants ont posé des questions sur des plates-formes de prise de commandes spécifiques. Ci-dessous, le site Web chinois php a compilé 22 plates-formes relativement fiables à titre de référence !

Responsabilités professionnelles du programmeur : 1. Responsable de la conception détaillée, du codage, de l'organisation et de la mise en œuvre des tests internes des projets logiciels ; 2. Aider les gestionnaires de projet et le personnel associé à communiquer avec les clients et à entretenir de bonnes relations avec les clients ; analyse sexuelle de faisabilité, analyse de faisabilité technique et analyse de la demande ; 4. Familiarisé et compétent avec les technologies logicielles pertinentes pour la réalisation de projets logiciels développés par le département logiciel ; 5. Responsable de la rétroaction en temps opportun sur les situations de développement de logiciels au chef de projet ; dans le développement et la maintenance de logiciels Résoudre les problèmes techniques majeurs au cours du processus ; 7. Responsable de la formulation des documents techniques pertinents, etc.

Téléchargez et installez les versions historiques de VSCode Installation de VSCode Télécharger référence d'installation Installation de VSCode Version Windows : Windows10 Version VSCode : VScode1.65.0 (version utilisateur 64 bits) Cet article

Les émulateurs de terminal vous permettent d'émuler les fonctionnalités d'un terminal informatique standard. Avec lui, vous pouvez effectuer des transferts de données et accéder à un autre ordinateur à distance. Lorsqu'ils sont combinés à des systèmes d'exploitation avancés comme Windows 11, les possibilités créatives de ces outils sont infinies. Cependant, il existe de nombreux émulateurs de terminaux tiers. Il est donc difficile de choisir le bon. Mais, tout comme nous le faisons avec les applications incontournables de Windows 11, nous avons sélectionné les meilleurs terminaux que vous pouvez utiliser et augmenter votre productivité. Comment choisir le meilleur émulateur de terminal Windows 11 ? Avant de sélectionner les outils de cette liste, notre équipe d'experts les a d'abord testés pour vérifier leur compatibilité avec Windows 11. Nous les avons également vérifiés
