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

So implementieren Sie einen Webcrawler in Python

coldplay.xixi
Freigeben: 2022-04-06 19:05:34
Original
27621 Leute haben es durchsucht

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
Nach dem Login kopieren
#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) )
Nach dem Login kopieren
[root@localhost demo]# python3 demo.py
Nach dem Login kopieren

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)        #打印输出
Nach dem Login kopieren
[root@localhost demo]# python3 demo1.py
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage