Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie einen Webcrawler in Python

So implementieren Sie einen Webcrawler in Python

coldplay.xixi
coldplay.xixiOriginal
2020-10-21 15:09:0827586Durchsuche

So implementieren Sie einen Webcrawler in Python: 1. Verwenden Sie die get-Methode in der Anforderungsbibliothek, um den Webseiteninhalt der URL anzufordern. 2. Die Methoden [find()] und [find_all()] können den HTML-Code durchlaufen Datei und extrahieren Sie die angegebenen Informationen.

So implementieren Sie einen Webcrawler in Python

So implementieren Sie einen Webcrawler in Python:

Schritt 1: Crawlen

Verwenden Sie die get-Methode in der Anforderungsbibliothek, um den Webinhalt der URL anzufordern

Code schreiben

[root@localhost demo]# touch demo.py
[root@localhost demo]# vim demo.py
#web爬虫学习 -- 分析
#获取页面信息
 
#输入:url
#处理:request库函数获取页面信息,并将网页内容转换成为人能看懂的编码格式
#输出:爬取到的内容
 
import requests
 
def getHTMLText(url):
    try:
        r = requests.get( url, timeout=30 )
        r.raise_for_status()    #如果状态码不是200,产生异常
        r.encoding = 'utf-8'    #字符编码格式改成 utf-8
        return r.text
    except:
        #异常处理
        return " error "
 
url = "http://www.baidu.com"
print( getHTMLText(url) )
[root@localhost demo]# python3 demo.py

So implementieren Sie einen Webcrawler in Python

Schritt 2: Analyse

Verwenden Sie die BeautifulSoup-Klasse in der bs4-Bibliothek, um ein Objekt zu generieren. Die Methoden find() und find_all() können diese HTML-Datei durchsuchen und bestimmte Informationen extrahieren.

Code schreiben

[root@localhost demo]# touch demo1.py
[root@localhost demo]# vim demo1.py
#web爬虫学习 -- 分析
#获取页面信息
 
#输入:url
#处理:request库获取页面信息,并从爬取到的内容中提取关键信息
#输出:打印输出提取到的关键信息
 
import requests
from bs4 import BeautifulSoup
import re
 
def getHTMLText(url):
    try:
        r = requests.get( url, timeout=30 )
        r.raise_for_status()    #如果状态码不是200,产生异常
        r.encoding = 'utf-8'    #字符编码格式改成 utf-8
        return r.text
    except:
        #异常处理
        return " error "
 
def findHTMLText(text):
    soup = BeautifulSoup( text, "html.parser" )    #返回BeautifulSoup对象
    return soup.find_all(string=re.compile( '百度' )) #结合正则表达式,实现字符串片段匹配
 
url = "http://www.baidu.com"
text = getHTMLText(url)        #获取html文本内容
res = findHTMLText(text)    #匹配结果
 
print(res)        #打印输出
[root@localhost demo]# python3 demo1.py

So implementieren Sie einen Webcrawler in Python

Zugehörige kostenlose Lernempfehlungen: Python-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie einen Webcrawler in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn