python爬蟲中採集中遇到的問題整理

2022-09-26 21:21:15 字數 1302 閱讀 1752

在爬蟲的獲取資料上,一直在講一些爬取的方法,想必小夥伴們也學習了不少。在學習的過程中程式設計客棧遇到了問題,大家也會一起交流解決,找出不懂和出錯的地方。今天小編想就爬蟲採集資料時遇到的問題進行乙個整理,以及在遇到不同的問題時,我們應該想的是什麼樣的解決思路,具體內容如下分享給大家。

1、需要帶著cookie資訊訪問

比如大多數的社交化軟體,基本上都是需要使用者登入之後,才能看到有價值的東西,其實很簡單,我們可以使用p提供的cookielib模組,實現每次訪問都帶著源**給的cookie資訊去訪問,這樣只要我們成功模擬了登入,爬蟲處於登入狀態,那麼我們就可以採集到登入使用者看到的一切資訊了。下面是使用cookie對httprequest()方法的修改:

ckjar = cookielib.mozillacookiejar()

cookies = urllib2.httpcookieprocessor(ckjar) #定義cookies物件

@summary: 網路請求

'''try:

ret = none

www.cppcns.comsockfile = none

request = urllib2.request(url)

request.add_header('user-agent', 'mozilla/4.0 (compatible; msie 6.0; windows nt 5.2; sv1; .net clr 1.1.4322)')

request.add_header('pragma', 'no-cache')

opener = urllib2.build_opener(cookies) #傳遞cookies物件

sockfile = opener.open(request)

ret = sockfile.read()

finally:

if sockfil程式設計客棧e:

sockfile.close()

return ret

2、編碼問題

**目前最多的兩種編碼:utf-8,或者gbk,當我們採集回****編碼和我們資料庫儲存的編碼不一致時,比如的編碼使用的是gbk,而我們需要儲存的是utf-8編碼的資料,那麼我們可以使用python中提供的encode()和decode()方法進行轉換,比如:

content = content.decode('gbk', 'ignore') #將gbk編碼轉為unicode編碼

content = content.encode('utf-8', 'ignore') #將unicode編碼轉為u程式設計客棧tf-8編碼

Python 爬蟲中遇到的反爬蟲問題

源 一般會有下面幾種限制 1 一定時間內單個ip訪問次數,乙個正常使用者訪問 除非是隨意的點著玩,否則不會在一段持續時間內過快訪問乙個 持續時間也不會太長,我們可以採用大量不規則 ip形成乙個執行緒池,隨機從 池中選擇 模擬訪問。有兩種,透明 和匿名 2 一定時間內單個賬號訪問次數,如果乙個人一天2...

python爬蟲入門 初步採集

獲取維基百科 的任何頁面並提取頁面鏈結 import urllib2 import bs4 html urllib2.urlopen bsobj bs4.beautifulsoup html.read lxml for link in bsobj.find a if href in link.att...

Python製作爬蟲採集小說

開發工具 python3.4 作業系統 win8 主要功能 去指定 網頁爬 目錄,按章節儲存到本地,並將爬過的網頁儲存到本地配置檔案。被爬 名稱 靈棺夜行 出處 本人親自碼的 print 獲取列表完成 url path url file.txt url r open url path,r url a...