這篇文章主要介紹“Python爬蟲(chóng)基礎(chǔ)庫(kù)有哪些”,在日常操作中,相信很多人在Python爬蟲(chóng)基礎(chǔ)庫(kù)有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”P(pán)ython爬蟲(chóng)基礎(chǔ)庫(kù)有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
創(chuàng)新互聯(lián)專(zhuān)注于鄱陽(yáng)企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開(kāi)發(fā)。鄱陽(yáng)網(wǎng)站建設(shè)公司,為鄱陽(yáng)等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站策劃,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
爬蟲(chóng)有三大基礎(chǔ)庫(kù)Requests、BeautifulSoup和Lxml,這三大庫(kù)對(duì)于初學(xué)者使用頻率最高,現(xiàn)在大家一起來(lái)看看這基礎(chǔ)三大庫(kù)的使用。
1、Requests庫(kù)
Requests庫(kù)的作用就是請(qǐng)求網(wǎng)站獲取網(wǎng)頁(yè)數(shù)據(jù)。
Code:res=requests.get(url)
返回:
返回200說(shuō)明請(qǐng)求成功
返回404、400說(shuō)明請(qǐng)求失敗
Code:res=request.get(url,headers=headers)
添加請(qǐng)求頭信息偽裝為瀏覽器,可以更好的請(qǐng)求數(shù)據(jù)信息
Code:res.text
詳細(xì)的網(wǎng)頁(yè)信息文本
2、BeautifulSoup庫(kù)
BeautifulSoup庫(kù)用來(lái)將Requests提取的網(wǎng)頁(yè)進(jìn)行解析,得到結(jié)構(gòu)化的數(shù)據(jù)
Soup=BeautifulSoup(res.text,’html.parser’)
詳細(xì)數(shù)據(jù)提取:
infos=soup.select(‘路徑’)
路徑提取方法:在固定數(shù)據(jù)位置右鍵-copy-copy selector
3、Lxml庫(kù)
Lxml為XML解析庫(kù),可以修正HTML代碼,形成結(jié)構(gòu)化的HTML結(jié)構(gòu)
Code:
From lxml import etree
Html=etree.HTML(text)
Infos=Html.xpath(‘路徑’)
路徑提取方法:在固定數(shù)據(jù)位置右鍵-Copy-Copy Xpath
實(shí)踐案例:
1、爬取酷狗榜單TOP500音樂(lè)信息
2、網(wǎng)頁(yè)無(wú)翻頁(yè),如何尋找URL,發(fā)現(xiàn)第一頁(yè)URL為:
https://www.kugou.com/yy/rank/home/1-8888.html?from=rank
嘗試把1換成2,可以得到新的網(wǎng)頁(yè),依次類(lèi)推,得到迭代的網(wǎng)頁(yè)URL
3、爬取信息為歌曲名字、歌手等
4、詳細(xì)代碼如下:
import requests
from bs4 import BeautifulSoup
import time
headers={
"User-Agent": "xxxx"
}
def get_info(url):
print(url)
#通過(guò)請(qǐng)求頭和鏈接,得到網(wǎng)頁(yè)頁(yè)面整體信息
web_data=requests.get(url,headers=headers)
#print(web_data.text)
#對(duì)返回的結(jié)果進(jìn)行解析
soup=BeautifulSoup(web_data.text,'lxml')
#找到具體的相同的數(shù)據(jù)的內(nèi)容位置和內(nèi)容
ranks = soup.select('span.pc_temp_num')
titles = soup.select('div.pc_temp_songlist > ul > li > a')
times = soup.select('span.pc_temp_tips_r > span')
#提取具體的文字內(nèi)容
for rank, title, time in zip(ranks, titles, times):
data = {
'rank': rank.get_text().strip(),
'singer': title.get_text().split('-')[0],
'song': title.get_text().split('-')[1],
'time': time.get_text().strip()
}
print(data)
if __name__=='__main__':
urls = ['https://www.kugou.com/yy/rank/home/{}-8888.html?from=rank'.format(i) for i in range(1, 2)]
for url in urls:
get_info(url)
time.sleep(1)
到此,關(guān)于“Python爬蟲(chóng)基礎(chǔ)庫(kù)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
分享文章:Python爬蟲(chóng)基礎(chǔ)庫(kù)有哪些
本文地址:http://aaarwkj.com/article34/jpoipe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站策劃、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷(xiāo)、企業(yè)建站、定制開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)