Python 爬蟲小記

2021-09-21 18:28:42 字數 1780 閱讀 6982

1、背景:需要爬取網上的資訊,ubuntu系統下 使用python完成

使用方法 from bs4 import beautifulsoup

requests(pip install requests):用python語言基於urllib編寫的,採用的是apache2 licensed開源協議的http庫,requests它會比urllib更加方便,可以節約我們大量的工作 

使用方法直接 import requests

3、網頁原始碼分析準備工作

開啟乙個待爬取內容的網頁,開啟開發者模式或者按f12即可看到相關的html的原始碼資訊,chrome瀏覽器中滑鼠停在原始碼某一行出,網頁上相應的位置會高亮,所以很好定位到自己想要的資訊對應的字段

4、敲**

a、簡單的獲取網頁資訊,其中會遇到頻繁訪問某乙個**被視為攻擊或者其他導致獲取資訊失敗,

下面的try操作是最簡單的防反爬取策略,延長訪問時間間隔

最後的print語句可以將獲取的html資訊列印到終端

#python自帶的獲取方式

url=url0+str(i)+"/#conghua"

html=""

for j in range(20):

try:

html=urlopen(url).read().decode('utf-8')

except exception as e:

if j>=9:

time.sleep(10)

else:

time.sleep(0.5)

else:

time.sleep(0.1)

break

print(html)

b、當然了有些**反爬取較強,所以需要更高以及的應對策略,使用requests模組,模擬瀏覽器訪問

url=""#輸入**鏈結即可

headers=#chorme

'''headers=#firefox

'''request=requests.get(url,headers=headers)

request.close()

request.encoding="utf-8"

html=request.text

print(html)

c、登入賬號解決反爬取

這個僅僅作為總結記錄,有待測試效果

#login settings

urllogin = "......login"#登入介面**

data =

response = requests.post(urllogin,data)

cookie = response.cookies.get_dict()

print(cookie)

url=」......「#爬取網頁**

request = requests.get(url, cookies=cookie)

request.close()

request.encoding = "utf-8"

html = request.text

print(html)

d、獲取html資訊後就是相關的解析提取自己想要的字段資訊了

soup=beautifulsoup(html,features="html.parser")

titles=soup.find_all("a",)#根據各自的需求提取資訊 主要根據網頁原始碼資訊進行修改這一句**,也可以利用正則表達進行提取資訊(這個暫時沒有試)

python爬蟲小記

builtins cached doc file loader name package path spec error parse request response request的使用 1.request請求最簡單的操作是用urlopen方法,如下 import urllib.request r...

python爬蟲小記

1 在寫爬蟲的時候,思考 的總體格局,讓 既可以捕捉異常又容易閱讀 2 具有周密的異常處理功能,會讓快速穩定地網路資料採集變得簡單易行。3 面對頁面解析難題 gordian knot 的時候,不假思索地直接寫幾行語句來抽取資訊是非常直接的做法。但是,像這樣魯莽放縱地使用技術,只會讓程式變得難以除錯或...

爬蟲小記(2)

自從兩個月前說要學習爬蟲開始,我其實做了好多準備了,只是開始的有點晚了吧。希望後面的進度能夠變的快一點。使用這些庫就能實現我們想要做的一些基本的功能,包括爬取一些簡單的 的內容,requests庫的功能是我覺得最實用的,只依靠這樣乙個庫我就可以實現解析乙個url,獲得網頁裡的內容,還可以判斷在連線u...