關(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í)候會產(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()
之后會繼續(xù)更新一些依许,還有文中有些地方大小寫不對,自己改改就好了