本文共 1633 字,大约阅读时间需要 5 分钟。
requests.request(method, url, **kwargs)
method
: 请求方式,对应7种方法
url
: 拟获取页面的链接
**kwargs
: 控制访问的参数,共13个,为可选项
request对象和response对象
def getHTMLText(url): try: r = requests.get(url, timeout = 30) r.raise_for_status() #if status_code is not 200, trigger HTTPError r.endcoding = r.apparent_encoding return r.text except: return 'error'
Hypertext Transfer Protocol,超文本传输协议
http://host[:port][path]
通过URL和命令管理资源,操作独立无状态,网络通道及服务器成为了黑盒子
Robots Exclusion Standard,网络爬虫排除标准
网站告知网络爬虫哪些页面可以抓取,哪些不行
在网站根目录下的robots.txt文件
*代表所有,/代表根目录Robots协议是建议但非约束性,网络爬虫可以不遵守,但存在法律风险
类人行为可不参考Robots协议,网站是为人来服务的
模拟浏览器访问
user_agent = {'user_agent':'Mozilla/5.0'}
r = requests.get(url, headers = user_agent)
百度的搜索引擎关键词提交接口:http://www.baidu.com/s?wd=keyword
keyword = ('wd':'python')
r = requests.get('http://www.baidu,com/s', params = keyword)
网络图片链接的格式:http://www.example.com/picture.jpg
r = requests.get(url)with open(path, 'wb') as f:f.write(r.content)f.close()