urllib

urllib是Python内置的HTTP请求库,包含4个模块:request error parse robotparser

request

urlopen()

urllib.request.urloprn(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None)

import urllib.request
response=urllib.request.urlopen('https://www.python.org')
print(response.read().decode('utf-8'))

data 参数是可选的。如果要添加该参数,并且如果它是字节流编码格式的内容,即bytes 类型,则需要通过bytes ()方法转化。另外,如果传递了这个参数,则它的请求方式就不再是GET 方式,而是POST 方式。

import urllib.parse
import urllib.request
data=bytes(urllib.parse.urlencode({'word':'hello'}),encoding='utf8')
response=urllib.requesturlopen('http://httpbin.org/post', data=data)

Request

class urllib.request.Request(url,data=None,headers={},origin_req_host=None,unverifiable=False,method=None)
url:必传参数
data:如果要传,只能传byte(字节流)类型的。如果是字典,用urllib.parse模块里的urlencode()编码
headers:请求头
origin_req_host:指的是请求方的host 名称或者IP 地址
unverifiable :这个请求是否是无法验证的,默认是False ,意思就是说用户没
有足够权限来选择接收这个请求的结果。例如,我们请求一个HTML 文档中的图片,但是我们没有自动抓取图像的权限,这时unverifiable 的值就是True
method :请求使用的方法,比如GET 、POST 和PUT

Robots协议

告诉爬虫和搜索引擎抓取哪些页面

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容