Python爬虫笔记

python爬虫day-2

2019-04-04  本文已影响0人  南音木

request模块:
2.Request()方法
代码一

import urllib.request
request=urllib.request.Request('https://python.org')
response=urllib.request.urlopen(request)
print(response.read().decode('utf-8'))
class urllib.request.Request (url, data=None, headers={},
origin_req_host=None,unverifiable=False,method=None)

1.第一个参数 url 用于请求 URL 这是必传参数,其他都是可选参数。
2.第二个参数 data 如果要传,必须传 bytes (字节流)类型的 。
3.第三个参数 headers是一个字典,它就是请求头,我们可以在构造请求时通过 headers 参数直接构造,也可以通过调用请求实例的 add_ header ()方法添加。
4.第四个参数 origin_req_ host 指的是请求方的 host 名称或者 IP 地址。
5.第五个参数 nuverifiable 表示这个请求是否是无法验证 的,默认是 False,意思就是说用户没有足够权限来选择接收这个请求的结果 。
6.第六个参数 method 一个字符串,用来指示请求使用的方法,比如 GET POST PUT。

from urllib import request,parse
url = 'http://httpbin.org/post'
headers={
        'User-Agent':'Mozilla/4.0(compatible;MSIE 5.5;Windows NT)',
        'Host':'httpbin.org'
        }
dict={
      'name':'Germey'
      }
data=bytes(parse.urlencode(dict),encoding='utf8')
req=request.Request(url=url,data=data,headers=headers,method='POST')
response=request.urlopen(req)
print(response.read().decode('utf-8'))

headers 也可以用 add_ header ()方法来添加:

from urllib import request,parse
url = 'http://httpbin.org/post'
dict={
      'name':'Germey'
      }
data=bytes(parse.urlencode(dict),encoding='utf8')
req=request.Request(url=url,data=data,method='POST')
req.add_header('User-Agent','Mozilla/4 .0 (compatible; MSIE 5.5; Windows NT)')
response=request.urlopen(req)
print(response.read().decode('utf-8'))

上一篇 下一篇

猜你喜欢

热点阅读