-
爬蟲(chóng):一段自動(dòng)抓取互聯(lián)網(wǎng)信息的程序
查看全部 -
這個(gè)使用Python3.0寫(xiě)的,可以實(shí)現(xiàn)。
import urllib.request
import http.cookiejarurl = "response1 = urllib.request.urlopen(url)
print(response1.getcode())
print(len(response1.read()))print("---------------------------------------second---------------------------------------------------------")
request = urllib.request.Request(url)
request.add_header("user-agent","Mozilla/0.5")
response2 = urllib.request.urlopen(url)
print(response2.getcode())
print(len(response2.read()))print("--------------------------------------third-----------------------------------------------------------")
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
urllib.request.install_opener(opener)
response3 = urllib.request.urlopen(url)
print(response3.getcode())
print(len(response3.read()))
print(cj)查看全部 -
python37下成功運(yùn)行
from urllib import request
from http import cookiejar
url = "http://www.baidu.com"
print("方法1")
response1 = request.urlopen(url)
print(response1.getcode())
print(len(response1.read()))
print("\n方法2")
rq = request.Request(url)
rq.add_header("agent", "Mozilla/5.0")
response2 = request.urlopen(rq)
print(response2.getcode())
print(len(response2.read()))
print("\n方法3")
cj = cookiejar.CookieJar()
opener = request.build_opener(request.HTTPCookieProcessor(cj))
request.install_opener(opener)
response3 = request.urlopen(url)
print(response3.getcode())
print(cj)
print(len(response3.read()))
查看全部 -
urllib2方法2
查看全部 -
獲取所需元素
查看全部 -
三種方法 記個(gè)筆記
查看全部 -
爬蟲(chóng)技術(shù)的價(jià)值,數(shù)據(jù)提取后分類(lèi)整合。
查看全部 -
啊啊啊啊啊、
查看全部 -
你男朋友查看全部
-
https://www.cnblogs.com/xiao-a啪啪le36/p/8433400.html
查看全部 -
網(wǎng)頁(yè)解析器
結(jié)構(gòu)化解析-DOM
查看全部 -
python爬蟲(chóng)實(shí)例代碼演示
查看全部 -
該下載器有以下三種下載方法:
①最簡(jiǎn)潔的方法:給定一個(gè)URL,將其傳送給urllib2的urlopen方法,就可以實(shí)現(xiàn)。對(duì)應(yīng)代碼如下:
?
?
②添加http header向服務(wù)器提交http的頭信息,添加data可以向服務(wù)器提交需要用戶輸入的數(shù)據(jù),
?
我們生成三個(gè)參數(shù),將其傳送給request類(lèi),生成一個(gè)request對(duì)象,再用urllib2的urlopen方法以request為參數(shù),發(fā)送網(wǎng)頁(yè)請(qǐng)求。
?
?
③添加特殊情景的處理器:
例:有的網(wǎng)頁(yè)需要用戶登錄才能訪問(wèn),我們就需要添加cookie的處理,我們使用HTTPCookieProcessor;有的網(wǎng)頁(yè)需要代理才能訪問(wèn),我們使用ProxyHandle;有的網(wǎng)頁(yè)的協(xié)議是HTTPS加密訪問(wèn)的,我們使用HTTPSHandler;有的網(wǎng)頁(yè)的URL是相互自動(dòng)的跳轉(zhuǎn),我們使用HTTPRedirectHandler。
將這些handler傳送給urllib2的bulid_opener方法來(lái)創(chuàng)建對(duì)象,我們給urllib2再install這個(gè)opener,這樣這個(gè)urllib2就具有了處理這些場(chǎng)景的能力,然后依然并用urlopen方法來(lái)請(qǐng)求一個(gè)URL,或請(qǐng)求一個(gè)request實(shí)現(xiàn)網(wǎng)頁(yè)的下載。
查看全部 -
最簡(jiǎn)潔方法
查看全部 -
折騰了幾個(gè)小時(shí),亂碼問(wèn)題終于解決了
UnicodeEncodeError: 'gbk' codec can't encode character ‘xxx’
類(lèi)似這種異常,因?yàn)樵趶木W(wǎng)頁(yè)上下載的頁(yè)面是utf-8編碼,默認(rèn)情況下向硬盤(pán)中寫(xiě)入是用gbk編碼,即要用 gbk 將 utf8 編碼 轉(zhuǎn)換為gbk編碼。
我們知道utf8可以保存所有的字符,gbk作為中文編碼肯定有些字符識(shí)別不了,此時(shí)只要在打開(kāi)文件時(shí)指定編碼:
fout?=?open("d:/xxx.html",?'a',?encoding='utf-8')
完美解決!
查看全部
舉報(bào)