python爬虫urllib_get请求,urllib_post请求

目录

1.urllib_get请求的urlencode方法 

2.urllib_post请求百度翻译 

 3.urllib_post百度翻译之详细翻译


1.urllib_get请求的urlencode方法 

1.如果把“易烊千玺”变成unicode字符采用quote,如果好多的话,一个一个调用太麻烦了,用urlencode解决多个参数的问题

import urllib.parse
#参数以字典形式存在
data={
    'wd':'易烊千玺',
    'sex':'男',
    'location':'湖南省'

}

a=urllib.parse.urlencode(data)
print(a)

已经 将wd,sex,location用两个与拼接起来了

2.那么求易烊千玺百度百科加上性别省份的页面源码如下

import urllib.request
import urllib.parse
base_url='https://www.baidu.com/s?'
data={
    'wd':'易烊千玺',
    'sex':'男',
    'location':'湖南省'
}
new_data=urllib.parse.urlencode(data)
url=base_url+new_data
headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
    "cookie" : "BIDUPSID=D5B7B5DC9EC418BF086F8034419288FE; PSTM=1678029839; BAIDUID=D5B7B5DC9EC418BF5368CDA9BA195075:FG=1; BD_UPN=12314753; BDUSS=XZxTHVQbXVQUEtwdzZVQ3JqWmNzNXViR1RiSThYWnl3bWYtMEFzZTI0VzU0UzVrRVFBQUFBJCQAAAAAAQAAAAEAAADKzPFDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlUB2S5VAdkZ; BDUSS_BFESS=XZxTHVQbXVQUEtwdzZVQ3JqWmNzNXViR1RiSThYWnl3bWYtMEFzZTI0VzU0UzVrRVFBQUFBJCQAAAAAAQAAAAEAAADKzPFDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlUB2S5VAdkZ; MCITY=-307%3A; BAIDUID_BFESS=D5B7B5DC9EC418BF5368CDA9BA195075:FG=1; B64_BOT=1; BA_HECTOR=0k0ga585810g2g218l200l851i8lgf91p; ZFY=woKzUXT6SomN3BpQdFG:B3:AH80tsHyB8:Ajy7WZJ:AY1GU:C; COOKIE_SESSION=86716_3_8_8_5_19_1_2_5_8_0_9_86672_368_3_0_1686816164_1686728918_1686816161%7C9%23380_28_1686728915%7C9; BD_HOME=1; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; BD_CK_SAM=1; PSINO=1; delPer=0; BDRCVFR[r5ISJbddYbD]=jgHDRC9lqMRmvPhuMC8mvqV; H_PS_PSSID=; channel=baidu.ccffz.com; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm; userFrom=ala; ab_sr=1.0.1_MDM4ZWY2MzJkMjRmZGU4ZGY4MTIwODMwYjhkMTljNjRkZWFjMTEzMjk5OTU1ZDQ2OWVmYmNmNTFjNzBmOWU2YzkwMzNlMzMzMmQzNjlhMjI0MTM2MWFhZjkzODAxODFiM2QxODEzZmQzZTdjMDk1ZDk1YTY5YTAyNzk3MzczZTQ5NTJhYWNlNzc0MTJkM2M3Nzc0YWE1ZTBjNTNiMzBjOQ==; BDRCVFR[-pGxjrCMryR]=mk3SLVN4HKm; sugstore=1; H_PS_645EC=5c9bbTDHjVXQaHtU%2FtigrZipb92iS2HjtKe7%2BSUaEZyclekTNob55dKrYDsCLZM1Hf0JXrX6huYv; baikeVisitId=fc790598-fc71-4c38-8490-971425ae8a13"
}
#请求对象定制
request=urllib.request.Request(url=url,headers=headers)
#模拟浏览器向服务器发送请求
response=urllib.request.urlopen(request)

content=response.read().decode('utf-8')
print(content)

 如下源码界面:

 

2.urllib_post请求百度翻译 

我在百度翻译中输入smart,右键检查network中并没有sug包,可能是程序进行了更新,看大家的博客后才找到的

点击Network后点击Fetch/XHR原来是没有的,再把刚开始输入的单词删掉一个字母t后刷新,会发现出来好多包,其中有sug包,复制Request URL地址

 

 

import urllib.request
import urllib.parse
url=' https://fanyi.baidu.com/sug'
headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
data={
    'kw':'smart'

}

#post请求参数必须进行编码,编码后必须调用encode方法
data=urllib.parse.urlencode(data).encode('utf-8')
#post请求的参数不会拼接在url后面面,需要在请求对象定制的方法中
request=urllib.request.Request(url=url,data=data,headers=headers)
response=urllib.request.urlopen(request)
content=response.read().decode('utf-8')
print(content)
print(type(content))

import json
obj=json.loads(content)
print(obj)

 3.urllib_post百度翻译之详细翻译

找到v2transapi中的地址和参数,地址在Headers中

import urllib.request
import urllib.parse
url='https://fanyi.baidu.com/v2transapi?from=en&to=zh'
#在真实浏览器加的参数
#headers={
#'Accept':'*/*',
#'Accept-Encoding':'gzip, deflate, br', //一定要注释这句话
#'Accept-Language':'zh-CN,zh;q=0.9',
#'Acs-Token':'1686887115605_1686887296853_6ifSBcCT3UsoflGPUVd9lk/yJ8HcY1hcDcsQMF+b6OQ/4Sn5ixpOru+CXkaW+3XQAwLliBH1QUH8ZSaDMy4VLM0ktbMqxrgO7z7N1mq/WmnFhnOkzE0t3eXOw/52J3ilpGqoKiBWnh+lmRPoqNAeacJvs7MvR4U8Yt8mLgAbVAzE5EF5VkZfIC8OFN9JTY1AoknU5IbkRbbAPQH6iro9LoTHTfCwyx3sBEv2tRjZDInYrv89nLNcd/xZSQdDlIg8Wq7jgkZwoISwwJ61o2xXlNbptJ5tVBQvN2i9NG1m0GpxqKlhNH1Ky2jRDEx9FVLNohSKFWwE4QHq7yBYTnTwdubMR9V1+RhfRyC6DDm8teNDL/eWCK0vy1asQ3HDkIpDK1ect2GOHIUXu2FvpQQyvlJA3Vf7Yn5seuo5GpYkpktlxvLNqEI3oiRAqDw0ZLRWvvJgqr6gYKlx5CDhwGxddeUZai0XWt7W5bagnp5iu83VFCixBNsP/RjUBEUHrn7M',
#'Connection':'keep-alive',
#'Content-Length':'151',
#'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
#'Cookie':'BIDUPSID=D5B7B5DC9EC418BF086F8034419288FE; PSTM=1678029839; BAIDUID=D5B7B5DC9EC418BF5368CDA9BA195075:FG=1; BDUSS=XZxTHVQbXVQUEtwdzZVQ3JqWmNzNXViR1RiSThYWnl3bWYtMEFzZTI0VzU0UzVrRVFBQUFBJCQAAAAAAQAAAAEAAADKzPFDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlUB2S5VAdkZ; BDUSS_BFESS=XZxTHVQbXVQUEtwdzZVQ3JqWmNzNXViR1RiSThYWnl3bWYtMEFzZTI0VzU0UzVrRVFBQUFBJCQAAAAAAQAAAAEAAADKzPFDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlUB2S5VAdkZ; MCITY=-307%3A; BAIDUID_BFESS=D5B7B5DC9EC418BF5368CDA9BA195075:FG=1; BA_HECTOR=0g0g2gak0lal840k2k0g8ga81i8mbnd1p; ZFY=woKzUXT6SomN3BpQdFG:B3:AH80tsHyB8:Ajy7WZJ:AY1GU:C; BDRCVFR[r5ISJbddYbD]=jgHDRC9lqMRmvPhuMC8mvqV; delPer=0; PSINO=1; __bid_n=1887b17a8a9d14cf904207; RT="z=1&dm=baidu.com&si=0e88b171-7607-42e5-b9f3-e38f874e6b98&ss=lixypdq6&sl=1&tt=1rg&bcn=https%3A%2F%2Ffclog.baidu.com%2Flog%2Fweirwood%3Ftype%3Dperf&ld=2kb&ul=2wc&hd=2x6"; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_SWITCH=1; SOUND_SPD_SWITCH=1; SOUND_PREFER_SWITCH=1; Hm_lvt_64ecd82404c51e03dc91cb9e8c025574=1686885737; H_PS_PSSID=; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; BCLID=12836633896974954247; BCLID_BFESS=12836633896974954247; BDSFRCVID=K9IOJexroG0ZmSbficM1UwazUFweG7bTDYrE1k12eFgi6oAVFakFEG0Pts1-dEu-S2OOogKKBmOTHgKF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; BDSFRCVID_BFESS=K9IOJexroG0ZmSbficM1UwazUFweG7bTDYrE1k12eFgi6oAVFakFEG0Pts1-dEu-S2OOogKKBmOTHgKF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF=tRAOoC_-tDvtHJrwMDTD-tFO5eT22-usWJRd2hcHMPoosIJLhqbDb4FS5GjP--oEQmcf0l05KfbUotoHDt4aD4LzbUuq2Mop3D6WKq5TtUJMqIDzbMohqqJXXPnyKMni0Dj9-pnjWhQrh459XP68bTkA5bjZKxtq3mkjbPbDfn028DKuDj-WDjjXDGRh546824oa3RTeb6rjDnCryTrzXUI82h5y05OzaG7a0JTJBCjlfnju3fjbbfbW-RORXRj4tC0DoJ5I5bI-DpjKQ4QOQxL1Db3Jb5_L5gTtsx8-Bh7oepvoL4cc3MksyPjdJJQOBKQB0KnGbUQkeq8CQft20b0EeMtjW6LEK5r2SCK-JD_B3j; H_BDCLCKID_SF_BFESS=tRAOoC_-tDvtHJrwMDTD-tFO5eT22-usWJRd2hcHMPoosIJLhqbDb4FS5GjP--oEQmcf0l05KfbUotoHDt4aD4LzbUuq2Mop3D6WKq5TtUJMqIDzbMohqqJXXPnyKMni0Dj9-pnjWhQrh459XP68bTkA5bjZKxtq3mkjbPbDfn028DKuDj-WDjjXDGRh546824oa3RTeb6rjDnCryTrzXUI82h5y05OzaG7a0JTJBCjlfnju3fjbbfbW-RORXRj4tC0DoJ5I5bI-DpjKQ4QOQxL1Db3Jb5_L5gTtsx8-Bh7oepvoL4cc3MksyPjdJJQOBKQB0KnGbUQkeq8CQft20b0EeMtjW6LEK5r2SCK-JD_B3j; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1686887119; ab_sr=1.0.1_NGRhMjExNTg3YTU0MzFjZjgyNzgzYzlhZmZkM2JiZjFiMmIwZWU1YTg5OWQwODI5ZTA0MGU1ZDFlYmU0OGNmOGFjZTA2YWE2ZmI0OTJkYTRlNTEwOWI1YzlkMTE3ZTEyMmIxYWQ1ODJmOTk1OWUwMWY4M2VmNjk2Y2YwMmU1NGI0YTNiYWVkNGNlNTg3MjhhNTU2N2U3ZmEyY2ZiNjQxNDlkMTIxNTFlYzE3M2YyNGRhMmM0MTk2YTc4Njg2ZDM5',
#'Host':'fanyi.baidu.com',
#'Origin':'https://fanyi.baidu.com',
#'Referer':'https://fanyi.baidu.com/?fr=pcPinzhuan',
#'Sec-Ch-Ua':'"Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"',
#'Sec-Ch-Ua-Mobile':'?0',
#'Sec-Ch-Ua-Platform':"Windows",
#'Sec-Fetch-Dest':'empty',
#'Sec-Fetch-Mode':'cors',
#'Sec-Fetch-Site':'same-origin',
#'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
#'X-Requested-With':'XMLHttpRequest'
#}
#cookie是最重要的,所以我就没有用上面的headers
headers={
'Cookie':'BIDUPSID=D5B7B5DC9EC418BF086F8034419288FE; PSTM=1678029839; BAIDUID=D5B7B5DC9EC418BF5368CDA9BA195075:FG=1; BDUSS=XZxTHVQbXVQUEtwdzZVQ3JqWmNzNXViR1RiSThYWnl3bWYtMEFzZTI0VzU0UzVrRVFBQUFBJCQAAAAAAQAAAAEAAADKzPFDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlUB2S5VAdkZ; BDUSS_BFESS=XZxTHVQbXVQUEtwdzZVQ3JqWmNzNXViR1RiSThYWnl3bWYtMEFzZTI0VzU0UzVrRVFBQUFBJCQAAAAAAQAAAAEAAADKzPFDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALlUB2S5VAdkZ; MCITY=-307%3A; BAIDUID_BFESS=D5B7B5DC9EC418BF5368CDA9BA195075:FG=1; BA_HECTOR=0g0g2gak0lal840k2k0g8ga81i8mbnd1p; ZFY=woKzUXT6SomN3BpQdFG:B3:AH80tsHyB8:Ajy7WZJ:AY1GU:C; BDRCVFR[r5ISJbddYbD]=jgHDRC9lqMRmvPhuMC8mvqV; delPer=0; __bid_n=1887b17a8a9d14cf904207; RT="z=1&dm=baidu.com&si=0e88b171-7607-42e5-b9f3-e38f874e6b98&ss=lixypdq6&sl=1&tt=1rg&bcn=https%3A%2F%2Ffclog.baidu.com%2Flog%2Fweirwood%3Ftype%3Dperf&ld=2kb&ul=2wc&hd=2x6"; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_SWITCH=1; SOUND_SPD_SWITCH=1; SOUND_PREFER_SWITCH=1; Hm_lvt_64ecd82404c51e03dc91cb9e8c025574=1686885737; H_PS_PSSID=; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; PSINO=2; BCLID=12001364711458897506; BCLID_BFESS=12001364711458897506; BDSFRCVID=-I4OJexroG0ZmSbfiYRZUwazUFweG7bTDYrE1k12eFgi6oAVFakFEG0Pts1-dEu-S2OOogKKBmOTHgKF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; BDSFRCVID_BFESS=-I4OJexroG0ZmSbfiYRZUwazUFweG7bTDYrE1k12eFgi6oAVFakFEG0Pts1-dEu-S2OOogKKBmOTHgKF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF=tRAOoC_-tDvtHJrwMDTD-tFO5eT22-usWJRd2hcHMPoosIJLhqbDb4FS5GjP--oEQmcf0l05KfbUotoHDt4aD4LzbUuq2Mop3D6WKq5TtUJMqIDzbMohqqJXXPnyKMni0Dj9-pnjWhQrh459XP68bTkA5bjZKxtq3mkjbPbDfn028DKuDj-WDjjXDGRh546824oa3RTeb6rjDnCryTrzXUI82h5y05OzaG7a0JTJBCjlfnju3fjbbfbW-RORXRj4tC0DoJ5I5bI-DpjKQ4QOQxL1Db3Jb5_L5gTtsx8-Bh7oepvoL4cc3MksyPjdJJQOBKQB0KnGbUQkeq8CQft20b0EeMtjW6LEtRAOoC_-tDvDqTrP-trf5DCShUFs3-TJB2Q-XPoO3KJADfOPb4rZ0lIA5UQELx5f5mkf3fbgy4op8P3y0bb2DUA1y4vp0toW3eTxoUJ2-KDVeh5Gqq-KXU4ebPRi3tr9QgbMahQ7tt5W8ncFbT7l5hKpbt-q0x-jLTnhVn0MBCK0hD89DjKKD6PE-fT8aC6aKC5bL6rJabC3KqImXU6q2bDeQN3z2lJa5D5kbfcGbbj0SqQ6bftb-l0vWq54J4PDtDTl0bIKahj4sRjcQxonDh83KNLLKUQtHGAH2h7O5hvvER6O3M7JyUKmDloOW-TB5bbPLUQF5l8-sq0x0bOte-bQXH_E5bj2qRPOVIoP; H_BDCLCKID_SF_BFESS=tRAOoC_-tDvtHJrwMDTD-tFO5eT22-usWJRd2hcHMPoosIJLhqbDb4FS5GjP--oEQmcf0l05KfbUotoHDt4aD4LzbUuq2Mop3D6WKq5TtUJMqIDzbMohqqJXXPnyKMni0Dj9-pnjWhQrh459XP68bTkA5bjZKxtq3mkjbPbDfn028DKuDj-WDjjXDGRh546824oa3RTeb6rjDnCryTrzXUI82h5y05OzaG7a0JTJBCjlfnju3fjbbfbW-RORXRj4tC0DoJ5I5bI-DpjKQ4QOQxL1Db3Jb5_L5gTtsx8-Bh7oepvoL4cc3MksyPjdJJQOBKQB0KnGbUQkeq8CQft20b0EeMtjW6LEtRAOoC_-tDvDqTrP-trf5DCShUFs3-TJB2Q-XPoO3KJADfOPb4rZ0lIA5UQELx5f5mkf3fbgy4op8P3y0bb2DUA1y4vp0toW3eTxoUJ2-KDVeh5Gqq-KXU4ebPRi3tr9QgbMahQ7tt5W8ncFbT7l5hKpbt-q0x-jLTnhVn0MBCK0hD89DjKKD6PE-fT8aC6aKC5bL6rJabC3KqImXU6q2bDeQN3z2lJa5D5kbfcGbbj0SqQ6bftb-l0vWq54J4PDtDTl0bIKahj4sRjcQxonDh83KNLLKUQtHGAH2h7O5hvvER6O3M7JyUKmDloOW-TB5bbPLUQF5l8-sq0x0bOte-bQXH_E5bj2qRPOVIoP; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1686893182; ab_sr=1.0.1_MDlhOGE2YzUxZDg0MDg0Y2I2NDY2MmUwMjA1Yjk3ZTE1ZTViZDljOGFhZTRkMjUzZDZhYzQ2OTgxMGE1YzRlMTJkN2VlMzM4MDVmY2RiYTRkZTFjY2MwNzc0NGFkYWY2MWM0NWMwMzhkY2FiYTY5ZDRjOTIwYzhkMTA2NjcwMDQwY2RmZGI2YTdjMzliYTM5NDhiNDNlZTVlM2MwZGZmZmMwMzFmZTBjMzU4OWUxYjA1NjA0MDU2ZjVkZmFlNjVh'
}
data={
    'from': 'en',
    'to': 'zh',
    'query': 'smart',
    'transtype':'realtime',
    'simple_means_flag': '3',
    'sign': '879626.626491',
    'token': 'cff8d2b829a17fa3b58a77e4b6634098',
    'domain': 'common',
}
data=urllib.parse.urlencode(data).encode('utf-8')
request=urllib.request.Request(url=url,data=data,headers=headers)
response=urllib.request.urlopen(request)
content=response.read().decode('utf-8')
print(content)
import json
obj=json.loads(content)
print(obj)
这里得到的会更加详细

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值