爬蟲第一章

2022-07-26 03:06:14 字數 3635 閱讀 4283

爬蟲基礎

什麼是爬蟲?

爬蟲是通過程式模擬瀏覽器上網,從網上獲取資料的過程.

爬蟲的分類:

通用爬蟲:爬取一整個頁面的資料.

聚焦爬蟲:爬取頁面中指定的區域性資料

增量式爬蟲:檢測**中資料更新的情況,爬取的是**中最新更新出來的資料.

什麼是反爬機制?

**製作時設定的一系列阻止爬蟲程式進行的阻礙,就是反爬機制,反爬機制針對的是爬蟲**.

什麼是反反爬機制?

解決反爬機制所使用的策略,反反爬機制針對的是**.

第乙個反爬機制:robots.txt協議

requests模組的應用

requests: 

功能強大,操作簡單
編碼流程:(可以理解成去網頁查詢東西一樣)1.獲取url(找到對應的**)2.傳送請求(回車)

3.獲取響應資料(頁面返回給你的資料)

4.持久化儲存(將頁面返回給你的資料儲存到指定位置)

例如:爬取搜狗首頁原始碼資料

import

requests

msg=input('

請輸入你要搜尋的內容:')

url = '

'#引數從網頁中的form_data中複製過來即可

params=

headers =

response=requests.get(url=url,headers=headers,params=params)

page_text=response.text

print(page_text)

user-agent: 請求載體的身份標識

ua檢測:門戶**的伺服器會檢測每乙個請求傳送過來的ua,如果檢測到是爬蟲程式,則請求傳送失敗.

ua偽裝:

即在**中加入user-agent即可.

爬取肯德基所有上海餐廳的位置

import

requests

#爬取肯德基所有上海位置的資訊

url='

'for i in range(1,5):

#data中的資料是從**中的form data中複製過來的

data=

headers=

#判斷請求方式

response=requests.post(url=url,data=data,headers=headers)

page_info=response.json()

file=open('

./kfc.txt

','a+

',encoding='

utf-8')

#儲存資料

爬取豆瓣電影的電影詳情資料

import

requests

url = '

'headers=

params=

#判斷請求方式

response=requests.get(url=url,params=params,headers=headers)

page_text=response.json()

動態載入的頁面資料分析:

1.我們通過請求發現,所有的企業資料都是通過動態載入出來的

2.通過抓包工具不過動態載入資料對應的資料報

4.通過分析每一家詳情頁的url,所有的詳情頁的url的網域名稱都是相同的,只是id不同

5.在分析詳情頁中的資料都是通過動態載入出來的,所以這裡還是需要抓包工具來對資料進行捕獲.

6.可以通過固定的url位址和不同的id進行拼接成企業詳情頁對應的url.

7.通過對url進行傳送請求就可以獲取到企業相關的資料了.

爬取藥監總局相關的資料

import

requests

url='

itownet/portalaction.do?method=getxkzslist

'headers=

for i in range(1,330):

data=

response=requests.post(url=url,headers=headers,data=data)

page_info=response.json()

page_list=

for one_info in page_info['

list']:

detail_id=one_info['id'

] detail_url='

itownet/portalaction.do?method=getxkzsbyid

'data=

detail_info=requests.post(url=detail_url,headers=headers,data=data).json()

fp=open('

./hzp.txt

','a+

',encoding='

utf-8')

for one_hzp in

page_list:

fp.write(one_hzp[

'epsname

']+'

'+one_hzp['

businessperson

']+'\n'

) fp.close()

urllib(個人感覺只要返回的形式是2進製流,他都可以返回)

from urllib import

request

url='

'response=request.urlretrieve(url=url,filename='

./曉.jpg

')

http協議和https協議什麼是http協議:客戶端和服務端進行資料互動的形式

什麼是https協議: 安全的http協議,對傳輸的資料進行加密

對稱秘鑰加密(有弊端): 把秘鑰和資料一起傳送過去

非對稱秘鑰加密(有弊端): 服務端先傳送秘鑰,然後客戶端按照秘鑰形式進行加密,傳送過去之後再通過秘鑰進行解密

證書秘鑰加密(現在普遍應用):服務端先將公開秘鑰傳送給乙個權威的認證機構,認證通過之後給秘鑰做標識,然後拿到權威的證書,校驗通過之後,客戶端通過證書進行加密,服務端通過證書進行解密.

第一章 初識爬蟲

1 爬蟲的定義 可以自動抓取全球資訊網上資訊的指令碼或程式。2 爬蟲可以解決的問題 1 解決冷啟動的問題。2 搜尋引擎的根基。做搜尋引擎,必須使用爬蟲。3 幫助機器學習建立知識圖譜。機器學習最終的是訓練集。訓練集可以靠爬蟲爬去。4 可以製作比較軟體。1 搜尋引擎定義 自動從網際網路蒐集資訊,經過一定...

python網路爬蟲(第一章)

內容來自於o reilly 人民郵電出版社 的 python網路爬蟲權威指南 此部落格僅用於記錄學習,方便以後使用 目前本系列文章 python網路爬蟲筆記 更新情況 第一章 本文 第二章 python網路爬蟲 第二章 簡單例項 python網路爬蟲 簡單例項 print title 1 urlli...

python爬蟲學習 第一章 爬蟲基礎

通過編寫程式,模擬瀏覽器上網,然後讓其去網際網路上抓取資料的過程。比如 電商願意被比價 或者購物資訊 爬取資訊,因為可以為他們的商品帶來更多的流量 而不願意被同行爬取 資訊,或者產品資訊 但是很多電商又會去爬取同行的商品資訊。如何解決這個矛盾?反爬機制 門戶 可以通過制定相應的策略或者技術手段,防止...