python爬蟲新增請求頭和請求主體

2022-02-24 11:14:10 字數 2669 閱讀 2924

新增頭部資訊有兩種方法

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翻譯示例**: 

1

import

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...