python~爬虫~1
爬蟲基本流程:
1、通過HTTP向目標(biāo)發(fā)送請(qǐng)求,即發(fā)送request,請(qǐng)求可以包含header等信息,等待服務(wù)器相應(yīng)
2、如果服務(wù)器相應(yīng),會(huì)返回一個(gè)response,response的內(nèi)容便是要獲取的內(nèi)容
3、對(duì)得到的內(nèi)容進(jìn)行解析
如:內(nèi)容為html格式,則用正則表達(dá)式、網(wǎng)頁(yè)解析庫(kù)解析。若json格式,則直接轉(zhuǎn)為json對(duì)象解析
4、結(jié)構(gòu)化保存數(shù)據(jù)
Request主要包含下面幾個(gè)部分:
1、請(qǐng)求方式:主要有g(shù)et,post兩種類型
2、請(qǐng)求URL(統(tǒng)一資源定位符)
3、請(qǐng)求頭:包含請(qǐng)求時(shí)的頭部信息,如:User-Agent、Host、Cookies等信息
4、請(qǐng)求體:請(qǐng)求時(shí)另外需要的數(shù)據(jù)(post請(qǐng)求有)
Response主要包含下面幾個(gè)方面:
1、響應(yīng)狀態(tài):如:not found 404
2、響應(yīng)頭:服務(wù)器信息等內(nèi)容
3、響應(yīng)體:包含請(qǐng)求資源的內(nèi)容,如網(wǎng)頁(yè)HTML,圖片,二進(jìn)制數(shù)據(jù)等
抓取數(shù)據(jù)類型:
1、網(wǎng)頁(yè)文本:HTML文檔,json格式文本
2、圖片:獲取到的是圖片的二進(jìn)制文件,保存為圖片格式
3、視頻:也是二進(jìn)制文件,保存為視頻格式
4、其它
解析方式:
1、直接處理:網(wǎng)頁(yè)構(gòu)造比較簡(jiǎn)單
2、json解析:字符串轉(zhuǎn)化json對(duì)象
3、正則表達(dá)式
4、BeautifulSoup
5、PyQuery
6、XPath
Urllib庫(kù)(Python內(nèi)置http請(qǐng)求庫(kù))
1、urllib.request 請(qǐng)求模塊
2、urllib.parse? ?url解析模塊
3、urllib.error? ?異常處理模塊
4、urllib.robotparser? ronots.txt解析模塊
用法:
1、urllib.request請(qǐng)求模塊
Request替換urlopen
2、urllib.parse url解析模塊
urllib.parse.urlpaese(urlstring,scheme='',allow_fragments=True)
3、urilib.error異常處理模塊:
1、urlerror
2、httperror
4、urllib.robotparser
總結(jié)
以上是生活随笔為你收集整理的python~爬虫~1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python爬虫基础(一)~爬虫概念和架
- 下一篇: Python~爬虫~2(requests