首頁 > 後端開發 > Python教學 > python如何實現網路爬蟲

python如何實現網路爬蟲

coldplay.xixi
發布: 2022-04-06 19:05:34
原創
27633 人瀏覽過

python實作網路爬蟲的方法:1、使用request庫中的get方法,請求url的網頁內容;2、【find()】和【find_all()】方法可以遍歷這個html文件,提取指定資訊。

python如何實現網路爬蟲

python實作網路爬蟲的方法:

##第一步:爬取

使用request庫中的get方法,請求url的網頁內容

寫程式碼

[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
登入後複製

python如何實現網路爬蟲

第二步:分析

使用bs4庫中BeautifulSoup類,產生一個物件。 find()和find_all()方法可以遍歷這個html文件,提取指定資訊。

編寫程式碼

[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
登入後複製

python如何實現網路爬蟲

#相關免費學習推薦:python影片教學

##

以上是python如何實現網路爬蟲的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板