Préface
Utilisez python pour écrire un simple robot d'exploration Biquge, explorez l'intégralité du roman en fonction de l'URL du roman saisie et enregistrez-le dans un fichier txt. Le robot utilise la méthode select de la bibliothèque BeautifulSoup et le résultat est montré dans la figure:
Cet article est uniquement destiné aux robots d'exploration
1. Analyse des pages Web
Voici l'exemple d'URL de Douluo Mainland Novel: http://www.biquge001.com/Book/2/2486/
On peut constater que l’adresse de la page Web et le nom du chapitre de chaque chapitre sont placés dans la balise a de <"div id = list dl dd a>, de sorte que l’URL et le nom du chapitre peuvent être obtenus en utilisant la méthode select de BeautfulSoup
Tag = BeautifulSoup (getHtmlText (url), "html.parser") #here getHtmlText est une méthode pour obtenir du HTML écrit par moi-même urls = Tag.select ("div #list dl dd a")
Ensuite, parcourez la liste
pour l'url dans les urls: href = "http://www.biquge001.com/" + url ['href'] # Le raccordement des chaînes dans l'URL correcte pageName = url.text # Le nom de chaque chapitre
Ensuite, le contenu de chaque chapitre est stocké dans <div id = "content" de la même manière
substance = Tag.select ("div #content") # Le contenu de l'article
Enfin, de la même manière, récupérez le nom du roman sur la page d'accueil <"div id = info h1>
bookName = Tag.select ("div #info h1")
2. Remplissez le code
1. Obtenir Html et méthode d'écriture
def getHtmlText (url): r = requests.get (url , headers = headers) r.encoding = r.apparent_encoding # 编码 转换 r.raise_for_status () return r.text def writeIntoTxt (filename, content): with open (filename, "w", encoding = "utf-8") comme f: f.write (content) f.close () print (filename + "已 完成")
2. Le reste du code
Le code est le suivant (exemple):
url = "http://www.biquge001.com/Book/2/2486/" substanceStr = "" bookName1 = "" html = getHtmlText (url) # Déterminez si ce fichier existe Tag = BeautifulSoup (getHtmlText (url), " html.parser ") urls = Tag.select (" div #list dl dd a ") bookName = Tag.select (" div #info h1 ") pour i dans bookName: bookName1 = i.text sinon os.path.exists (bookName1): os.mkdir (bookName1) print (bookName1 + "Created") else: print ("File has been created") pour l'url dans les urls: href = "http://www.biquge001.com/" + url ['href'] # Concaténation de chaînes pour former l'URL correcte pageName = url.text # Nom du chapitre de chaque chapitre chemin = bookName1 + "\\" # Chemin fileName = chemin + url.text + ".txt" # Nom du fichier = chemin + nom du chapitre + ".txt" Tag = BeautifulSoup (getHtmlText (href), "html.parser") # Analyser chaque page substance = Tag.select ("div #content") # Le contenu de l'article pour i en substance: substanceStr = i.text writeIntoTxt (fileName , substanceStr) time.sleep (1)
Pour résumer
Utilisez simplement la méthode select de BeautfulSoup pour explorer la page Web de Biquge
Récemment, de nombreux amis ont consulté sur les problèmes d'apprentissage de Python via des messages privés. Pour faciliter la communication, cliquez sur le bleu pour rejoindre la base de ressources de discussion et de réponse par vous-même