python3网络爬虫:提交post请求修改User-Agent(二)

举报
brucexiaogui 发表于 2021/12/30 00:08:08 2021/12/30
【摘要】 python3网络爬虫:提交post请求修改User-Agent(二)   '''抓取有道请求数据包,获取有道翻译结果'''import urllib.requestimport urllib.parseimport jsonurl = 'http://fanyi.youdao.com/translate_o?smartr...

python3网络爬虫:提交post请求修改User-Agent(二)

 


  
  1. '''
  2. 抓取有道请求数据包,获取有道翻译结果
  3. '''
  4. import urllib.request
  5. import urllib.parse
  6. import json
  7. url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'
  8. head = {}
  9. head['User-Agent']= 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
  10. data = {} #创建一个空字典,并将下面数据放在这个date字典中。
  11. data['i'] = '中国'
  12. data['from'] = ['AUTO']
  13. data['to']= ['AUTO']
  14. data['smartresult']= 'dict'
  15. data['client']= 'fanyideskweb'
  16. data['salt']= '1527475697186'
  17. data['sign']= '8bbf3f58acd0bdd6e8b0a303763350e4'
  18. data['doctype']= 'json'
  19. data['version']= '2.1'
  20. data['keyfrom']= 'fanyi.web'
  21. data['action']= 'FY_BY_REALTIME'
  22. data['typoResult']= 'false'
  23. data = urllib.parse.urlencode(data).encode('utf-8') #urllib.parse.urlencode(data) 编码为application格式提交data数据
  24. res = urllib.request.urlopen(url,data,head) #提交url和data的request请求,且将User-Agent
  25. youdao = res.read().decode('utf-8') #读取数据,并进行utf-8解码
  26. print(data)
  27. taget = json.loads(youdao) #将数据转换成json串格式
  28. taget = taget['translateResult'][0][0]['tgt'] #读取json数据中tgt的值
  29. print(taget)

代码解读:

1、代码中data数据如何抓取?

①、在请求的网页中,打开调试模式。在调试模式中找到请求。

②、复制请求中Form Data下面的数据,这个数据就是请求提交的data

③、然后将复制Form Data下面的数据粘贴到python中,在数据前面加上data,将冒号改为等号。如下


  
  1. data = {} #创建一个空字典,并将下面数据放在这个date字典中。
  2. data['i'] = '中国'
  3. data['from'] = ['AUTO']
  4. data['to']= ['AUTO']
  5. data['smartresult']= 'dict'
  6. data['client']= 'fanyideskweb'
  7. data['salt']= '1527475697186'
  8. data['sign']= '8bbf3f58acd0bdd6e8b0a303763350e4'
  9. data['doctype']= 'json'
  10. data['version']= '2.1'
  11. data['keyfrom']= 'fanyi.web'
  12. data['action']= 'FY_BY_REALTIME'
  13. data['typoResult']= 'false'

 

 

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/80480398

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。