爬虫02:请求及案例

爬虫•目录 爬虫•类别


1.GET

1特点

值在url后面 以键值的形式追加在后面 

2案例

上节案例

2.POST(在Request()中添加data参数)

data参数

urllib.request.Request(url, data=data, headers=headers)
data 表单数据以bytes类型提交(浏览器F12 Network->Headers->From Data)

处理表单数据data为bytes类型

  • 1.先把data定义为字典
  • 2.urlencode(data).encode()
import urllib.request
import urllib.parse
import json

url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
headers = {
        'User-Agent':'Mozilla/5.0'
        }
key = input('翻译>>>')

# 处理form表单数据
data = {
'i': key,
'from': 'AUTO',
'to': 'AUTO',
'smartresult': 'dict',
'client': 'fanyideskweb',
'salt': '15481491442904',
'sign': '407948613c2943e6ff32f27e6aa7fcd6',
'ts': '1548149144290',
'bv': '9deb57d53879cce82ff92bccf83a3e4c',
'doctype': 'json',
'version': '2.1',
'keyfrom': 'fanyi.web',
'action': 'FY_BY_REALTIME',
'typoResult': 'false'}

data = urllib.parse.urlencode(data).encode('utf-8')
req = urllib.request.Request(
        url,
        data=data,
        headers=headers
        )
res = urllib.request.urlopen(req)
html = res.read().decode('utf-8')
#json转为python数据类型
rDict = json.loads(html)
print(rDict['translateResult'][-1][-1]['tgt'])

验证问题后面再弄(爬虫07:requests请求模块2),这里只是改了url


博主个人能力有限,错误在所难免.
如发现错误请不要吝啬,发邮件给博主更正内容,在此提前鸣谢.
Email: JentChang@163.com (来信请注明文章标题,如果附带链接就更方便了)
你也可以在下方的留言板留下你宝贵的意见.


上一篇
爬虫03:正则解析 爬虫03:正则解析
爬虫•目录 爬虫•类别 解析模块数据的分类 结构化数据 固定格式 HTML JSON XML <a> <b> </b> </a> 非结构化数据 图片
2019-01-22
下一篇
爬虫01:概述,环境,模块 爬虫01:概述,环境,模块
爬虫•目录 爬虫•类别 获取数据的方式 自有数据 第三方购买 数据堂 贵阳大数据交易所 爬虫爬取数据 市场上没有,价格太高,利用爬虫程序爬取 python请求模块,解析模块丰富成熟,scrapy框架 python的多线程由于全局
2019-01-22
目录