關(guān)于python爬蟲的記錄

關(guān)于urllib庫
在python2中有Urllib庫urllib2庫,在python3中兩個(gè)合并成了一個(gè)urllib

在python2中 --> 在python3中
import urllib2 --> import urllib.request import ullib.error
Import urllib --> import urllib.request, ullib.error, urllib.parse
Import urlparse --> import urllib.parse
Import urllib2 --> import urllib.request, urllib.error
Import urllib2.Request --> import urllib.request.Request

之后的程序都是python3寫的

快速打開一個(gè)網(wǎng)站
Import urllib.request
File = urllib.request.urlopen(‘http://www.baidu.com’)
File.getcode()     # 獲取狀態(tài)碼
File.geturl()      # 返回當(dāng)前的url
print(File.read())    # 一次將結(jié)果輸出
print(File.readline()) # 一次輸出一行
# 將請求返回的html寫入到本地
htmlFile = open(‘test.html’, ’w’)
htmlFile.write(File.read())
htmlFile.close()

# 也可以用 urllib.request.urlretrieve()
Filename = urllib.request.urlretrieve(‘http://www.baidu.com’, filename = ‘test.html’)

urlretrieve() 執(zhí)行的時(shí)候會(huì)產(chǎn)生一些緩存,可以通過以下方法清除
urllib.request.urlcleanup()
urllib.request.quote(‘http://www.baidu.com’)
返回結(jié)果:
'http%3A//www.baidu.com'  # 其實(shí)就是url編碼,把一些不合規(guī)范的字符編碼
 
# url解碼
urllib.request.unquote(‘http%3A//www.baidu.com’)

偽裝成瀏覽器訪問網(wǎng)站
在請求的加上Header
用瀏覽的f12可以看到
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36

方法一:build_opener()
Import urllb.request
Url = ‘http://www.baidu.com’
Headers = {‘User-Agent’ , ‘ Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36’}
Opner = urllb.request.build_opener()
Opener.addheaders = [Headers]
Data = Opener.open(url).read()
方法二:add_header()
Import urllib.request
Url = ‘http://www.baidu.com’
Req = urllib.request.Request(url)
Req.add_header(‘User-Agent’ , ‘ Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36’)
Data = urllib.request.urlopen(Req).read()

之后會(huì)繼續(xù)更新一些,還有文中有些地方大小寫不對(duì),自己改改就好了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容