一,爬蟲的基本流程
發(fā)起請求
通過HTTP庫向目標(biāo)站點發(fā)起請求文狱,也就是發(fā)送一個Request蝠咆,請求可以包含額外的header等信息冰更,等待服務(wù)器響應(yīng)
獲取響應(yīng)內(nèi)容
如果服務(wù)器能正常響應(yīng)啡邑,會得到一個Response贱勃,Response的內(nèi)容便是所要獲取的頁面內(nèi)容,類型可能是HTML,Json字符串谤逼,二進(jìn)制數(shù)據(jù)(圖片或者視頻)等類型
解析內(nèi)容
得到的內(nèi)容可能是HTML,可以用正則表達(dá)式贵扰,頁面解析庫進(jìn)行解析,可能是Json,可以直接轉(zhuǎn)換為Json對象解析流部,可能是二進(jìn)制數(shù)據(jù)戚绕,可以做保存或者進(jìn)一步的處理
保存數(shù)據(jù)
保存形式多樣,可以存為文本枝冀,也可以保存到數(shù)據(jù)庫舞丛,或者保存特定格式的文件
二,爬取得數(shù)據(jù)如何解析:
1.直接處理 果漾,2.Json解析 3.正則表達(dá)式處理 4.BeautifulSoup解析處理 5.PyQuery解析處理
6.XPath解析處理
三球切,有時候爬去的數(shù)據(jù)和瀏覽器里顯示的不一樣的原因是
出現(xiàn)這種情況是因為,很多網(wǎng)站中的數(shù)據(jù)都是通過js跨晴,ajax動態(tài)加載的欧聘,所以直接通過get請求獲取的頁面和瀏覽器顯示的不同片林。如何解決js渲染的問題端盆?
分析ajax ,Selenium/webdriver费封,Splash焕妙,PyV8,Ghost.py
四,接下來會學(xué)習(xí) Selenium/webdriver 爬蟲