Python爬蟲知識點總結

2021-09-19 03:53:14 字數 3210 閱讀 7566

模擬瀏覽器傳送請求,獲取響應

需要根據url位址對應的響應為準進行資料的提取

response.content -> bytes

python3

**的分類:

- 高匿名:不知道在使用**

- 匿名:知道在使用**,不知道真實ip

- 透明:對方知道真實的ip

if 條件成立,if前面的結果賦值給to,否則else後面的結果賦值給to

to= 『en』 if lan==『zh』 else 『zh』

通過抓包,定位url位址

進行分析

執行js

requests.get(url,verify=false)

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

requests.utils.dict_from_cookiejar(response.cookies)

requests.get(url,timeout=3)

非結構化資料

json.loads:json字串轉化為python型別

json.dumps:python型別轉化為json字串

json.load:包含json字串的類檔案物件轉化為python型別

json.dump:把python型別存入類檔案物件中

cookie放在headers中

cookie傳遞給cookies引數

新增斷點的方法,觀察執行過程

執行js

from retrying import retry

@retry(stop_max_attempt_number=3)

def fun():

pass

@的使用

text()的使用

xpath查詢特定的節點

lxml模組的使用

from lxml import etree

element = etree.html(html_str)

# bytes或者str型別的字串

element.xpath(

"xpath str"

)# 返回列表

etree.tostring(element)

# 轉化為字串

# 資料提取時:先分組,在提取

特殊字元

能夠匹配除了\n之外的所有的字元

能夠匹配方括號中列出的任意乙個字元

in [1]

:import re

in [2]

: re.findall(

"[qwe]"

,"qweertert"

)out[2]

:['q',

'w',

'e',

'e',

'e']

如果想匹配方括號中的多個字元,使用+。例如[qwe]+,表示匹配qwe中的多個字元

in [1]

:import re

in [2]

: re.findall(

"[qwe]+"

,"qweertert"

)out[2]

:['qwee'

,'e'

]

如果想表示取反,使用^。例如[^qwe],表示匹配除了qwe之外的所有字元

in [1]

:import re

in [2]

: re.findall(

"[^qwe]"

,"qweertert"

)out[2]

:['r',

't',

'r',

't']

in [3]

: re.findall(

"[^qwe]+"

,"qweertert"

)out[3]

:['rt'

,'rt'

]

語法

含義\d

數字 0-9

\d非數字[^\d]

\w字母、數字、下劃線 [a-za-z0-9_]

\w除了字母、數字、下劃線的所有字元

\s空白字元 [\t\n\r\f\v]

\s非空白字元

正則中的方法

re.findall('reg',str)

返回 所有的匹配結果

re.sub('reg',』替換後的字串『,str)

替換 字串中的相關字元

re.compile('reg',re.s)

編譯,對正規表示式進行編譯

re.match('reg',str)

返回 從開頭匹配的結果

re.search('reg',str)

返回 字串中匹配到的第乙個結果

首先需要安裝lxml包

pip install lxml

from lxml import etree

import requests

# 傳送請求,獲取響應

response = requests.get(

'')response = response.content.decode(

)# etree.html() 接收字串

seleclt_res = etree.html(response)

# 返回的列表

url_list = seleclt_res.xpath(

"//a/@href"

)print

(url_list)

『//a[contains(@class,『n』)]』 class包含n的a標籤

requests.utils.unquote(url)

為了能夠讓主線程**子執行緒,可以把子執行緒設定為守護執行緒,即該執行緒不重要,主線程結束,子執行緒結束

佇列 url位址不變,驗證碼變化

selenium處理驗證碼

網頁爬蟲知識點總結

1.什麼是爬蟲?爬蟲就是 模擬瀏覽器傳送請求,獲取響應2.爬蟲的分類,爬蟲的流程 通用爬蟲 搜尋引擎的爬蟲 3.瀏覽器傳送請求的過程 爬蟲獲取的內容和elements內容不一樣,進行資料提取的時候,需要根據url位址對應的響應為準進行資料的提取 4.http的請求頭user agent有什麼用 5....

Python爬蟲知識點一

一。入門知識 1.1.http簡介 uri和url的區別 uri強調的是資源,而url強調的是資源的位置。1.2常用請求型別 options 返回伺服器針對特定資源所支援的http請求方法。head 向伺服器索要與get請求相一致的響應,只不過響應體將不會被返回。get 向特定資源發出請求 post...

python知識點總結

a 命名乙個集合a b 命名乙個集合b print a b 輸出ab兩個集合的公共部分 a 命名乙個集合a a.add 22 在集合a後加22 print sorted a 列印出新的集合a a j for j in range 1,100 將j遍歷1到100 if j 25 0 判斷1到100裡整...