Ecrivez un simple robot d'exploration Biquge avec python60 lignes de code! Un troisième chapitre?

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

 

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43881394/article/details/112521161
conseillé
Classement