python爬蟲中采集中遇到的問(wèn)題整理
在爬蟲的獲取數(shù)據(jù)上,一直在講一些爬取的方法,想必小伙伴們也學(xué)習(xí)了不少。在學(xué)習(xí)的過(guò)程中遇到了問(wèn)題,大家也會(huì)一起交流解決,找出不懂和出錯(cuò)的地方。今天小編想就爬蟲采集數(shù)據(jù)時(shí)遇到的問(wèn)題進(jìn)行一個(gè)整理,以及在遇到不同的問(wèn)題時(shí),我們應(yīng)該想的是什么樣的解決思路,具體內(nèi)容如下分享給大家。
1、需要帶著cookie信息訪問(wèn)
比如大多數(shù)的社交化軟件,基本上都是需要用戶登錄之后,才能看到有價(jià)值的東西,其實(shí)很簡(jiǎn)單,我們可以使用Python提供的cookielib模塊,實(shí)現(xiàn)每次訪問(wèn)都帶著源網(wǎng)站給的cookie信息去訪問(wèn),這樣只要我們成功模擬了登錄,爬蟲處于登錄狀態(tài),那么我們就可以采集到登錄用戶看到的一切信息了。下面是使用cookie對(duì)httpRequest()方法的修改:
ckjar = cookielib.MozillaCookieJar() cookies = urllib2.HTTPCookieProcessor(ckjar) #定義cookies對(duì)象 def httpRequest(url): ''''' @summary: 網(wǎng)絡(luò)請(qǐng)求 ''' try: ret = None SockFile = 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對(duì)象 SockFile = opener.open(request) ret = SockFile.read() finally: if SockFile: SockFile.close() return ret
2、編碼問(wèn)題
網(wǎng)站目前最多的兩種編碼:utf-8,或者gbk,當(dāng)我們采集回來(lái)源網(wǎng)站編碼和我們數(shù)據(jù)庫(kù)存儲(chǔ)的編碼不一致時(shí),比如http://163.com的編碼使用的是gbk,而我們需要存儲(chǔ)的是utf-8編碼的數(shù)據(jù),那么我們可以使用Python中提供的encode()和decode()方法進(jìn)行轉(zhuǎn)換,比如:
content = content.decode('gbk', 'ignore') #將gbk編碼轉(zhuǎn)為unicode編碼 content = content.encode('utf-8', 'ignore') #將unicode編碼轉(zhuǎn)為utf-8編碼
到此這篇關(guān)于python爬蟲中采集中遇到的問(wèn)題整理的文章就介紹到這了,更多相關(guān)python爬蟲入門之采集中遇到的問(wèn)題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?查找算法之二分查找線性查找與哈希查找實(shí)例探究
這篇文章主要為大家介紹了Python查找算法探究之二分查找、線性查找與哈希查找的實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Python爬蟲實(shí)現(xiàn)使用beautifulSoup4爬取名言網(wǎng)功能案例
這篇文章主要介紹了Python爬蟲實(shí)現(xiàn)使用beautifulSoup4爬取名言網(wǎng)功能,結(jié)合實(shí)例形式分析了Python基于beautifulSoup4模塊爬取名言網(wǎng)并存入MySQL數(shù)據(jù)庫(kù)相關(guān)操作技巧,需要的朋友可以參考下2019-09-09Python基于paramunittest模塊實(shí)現(xiàn)excl參數(shù)化
這篇文章主要介紹了Python基于paramunittest模塊實(shí)現(xiàn)excl參數(shù)化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Python實(shí)現(xiàn)孤立隨機(jī)森林算法的示例代碼
孤立森林(isolation?Forest)是一種高效的異常檢測(cè)算法,它和隨機(jī)森林類似,但每次選擇劃分屬性和劃分點(diǎn)(值)時(shí)都是隨機(jī)的,而不是根據(jù)信息增益或基尼指數(shù)來(lái)選擇。本文將用Python實(shí)現(xiàn)這一算法,需要的可以參考一下2022-03-03講解Python中的標(biāo)識(shí)運(yùn)算符
這篇文章主要介紹了講解Python中的標(biāo)識(shí)運(yùn)算符,是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05