新增頭部資訊有兩種方法
1.通過新增urllib.request.request中的headers引數
1#先把要用到的資訊放到乙個字典中
2 headers ={}
3 headers['
user-agent
'] = '
mozilla/5.0 (windows nt 6.1; win64; x64) .......
'4 headers['
......
'] = '
........'5
6#提交的主體資訊,可以使用windows的瀏覽器找出來,以字典的形式寫出來
7 data ={}
8 data['
eng'] = '0'
#1:英->漢 0:漢->英
9 data['
validate
'] = ''
10 data['
ignore_trans
'] = '0'
1112
#將攜帶的資料轉換成請求方法的對應型別
13 reqdata = urllib.parse.urlencode(data).encode('
utf-8')
1415
#生成乙個請求報文,這裡的url和data需要提前給定
16 req =urllib.request.request(url,reqdata,headers)
1718
#使用這個報文去請求網頁,這時請求的報文中就帶有瀏覽器標識了
19 html = urllib.request.urlopen(req).read()
2.通過urllib.request.request的add_header方法新增
1#生成請求報文,這裡先不加入header引數
2 req =urllib.request.request(url,reqdata)34
#通過返回的請求物件新增header頭,這裡是個元祖,不是字典
5 req.add_header('
user-agent
','mozilla/5.0 (windows nt 6.1; win64; x64)')
67#這時再去請求就是帶有瀏覽器標識的報文了
8 html = urllib.request.urlopen(req).read()
360翻譯示例**:
1import
urllib.request
2import
chardet
3import
urllib.parse
4import
json56
#請求url路徑,這個是360翻譯
7 url = '
'8#這裡只寫了個瀏覽器標識
9 headers ={}
10 headers['
user-agent
'] = ''11
#提交的請求主體資訊
12 data ={}
13 data['
eng'] = '0'
#1:英->漢 0:漢->英
14 data['
validate
'] = ''
15 data['
ignore_trans
'] = '0'
16while
true:
17 str = input("
請輸出要翻譯的中文(輸入q退出):
") #
要查詢的內容
18if str == 'q'
:19break
20else
:21 data['
query
'] =str
222324#
將攜帶的資料轉換成請求方法的對應型別
25 reqdata = urllib.parse.urlencode(data).encode('
utf-8')
26#把url、data、header封裝成乙個請求
27 req =urllib.request.request(url,reqdata,headers)28#
提交請求
29 response =urllib.request.urlopen(req)30#
獲取返回頁面內容
31 html =response.read()32#
將返回的頁面進行解碼,可以使用chardet.detect(html)檢視頁面編碼33#
print(type(html)) 可以這樣列印,判斷出頁面的型別是什麼,好進行下一步的轉碼34#
print(isinstance(html,bytes))
35 html = html.decode('
ascii')
36#html為json格式,轉換成字典型別
37 html =json.loads(html)38#
提取出翻譯的字段
39 translation = html['
data
']['
fanyi']
4041
print(translation)
爬蟲之修改請求頭
由於我是自學爬蟲的第一篇部落格,也許是最後一篇,全看我心情。import requests 匯入requests模組,用來獲取網頁的 url 某 你要爬取的網頁的 try 這個不講了,不懂看前面的python基礎模組。r requests.get url 通過get方法獲取乙個url的respons...
請求頭和響應頭
請求header http request header host 請求的網域名稱 user agent 瀏覽器端瀏覽器型號和版本 accept 可接受的內容型別 accept language 語言 accept encoding 可接受的壓縮型別 gzip,deflate accept char...
爬蟲請求頭批量加引號
python中編寫爬蟲程式通常需要新增請求頭,但是從瀏覽器中複製的請求頭沒有加引號。當請求頭資訊比較多的時候,加引號是乙個非常痛苦的事情,所以筆者寫了乙個小指令碼,可以批量給請求頭資訊新增引號。import re defmakeheaders data rule re.compile results...