python爬虫教程入门教程python爬虫教程csdn我要自学网 百度云
下载地址 https://share.weiyun.com/0UhC6msn
资料目录 30个小时搞定Python网络爬虫视频课程(全套详细版) Python网络爬虫工程师系列培训视频课程(65集全) 廖雪峰商业爬虫(含课件、案例和练习) 零基础Python实战 四周实现爬虫网站 《Python 3网络爬虫开发实战 》崔庆才著.pdf 《Python网络爬虫从入门到实践》 庄培杰编著.pdf Python 3爬虫、数据清洗与可视化实战_零一等编著.pdf Python3网络爬虫数据采集 陶俊杰 翻译.pdf Python爬虫开发与项目实战 范传辉 编著.pdf Python爬虫大数据采集与挖掘-微课视频版 曹剑平 编著.pdf python网络爬虫从入门到实践 唐松等.pdf 网络爬虫-Python和数据分析 王澎著.pdf 用Python写网络爬虫 李斌 翻译.pdf 自己动手写网络爬虫 罗刚等 编著.pdf Python项目案例开发从入门到实战:爬虫、游戏和机器学习 by 郑秋生 夏敏捷 举例 Requests HTTP 请求库 Python 自带的 urllib 网络请求库基本可满足我们的需要,但是在实际开发过程中使用起来还是有些烦琐,表现在以下几个方面: 发送 GET 和 POST 请求。 Cookie 处理。 设置代理。 urllib 默认不支持压缩,要返回压缩格式,必须在请求头里写明 accept- encoding,然后在获取返回数据时,它以响应头里是否有 accept-encoding 来判断是否需要解码。当然也可以对 urllib 进行一些常用的封装,以规避此类问题。而更多时候,我们会选择使用 Requests库来模拟请求。
1 Requests 库简介 Requests 库基于 urllib 库,是采用 Apache2 Licensed 开源协议的 HTTP 库,更加简单且功能强大。该库支持如下功能。 International Domains and URLs:国际化域名和 URL。 Keep-Alive & Connection Pooling:Keep-Alive & 连接池。 Sessions with Cookie Persistence:带持久 Cookie 的会话。 Browser-style SSL Verification:浏览器式的 SSL 认证。 Basic/Digest Authentication:基本/摘要式的身份认证。 Elegant Key/Value Cookies:简洁的 Key/Value Cookie。 Automatic Decompression:自动解压。 Automatic Content Decoding:自动内容解码。 Unicode Response Bodies:Unicode 响应体。 Multipart File Uploads:文件分块上传。 HTTP(S) Proxy Support:HTTP(S)代理支持。 Connection Timeouts:连接超时。 Streaming Downloads:流下载。 .netrc Support:支持.netrc。 Chunked Requests:Chunked 请求。 其官方仓库为 https://github.com/requests/requests/,官方文档为 http://www.python-requests. org/en/master/。直接通过 pip 安装库即可: pip install requests
2 Requests HTTP 基本请求 Requests 支持各种请求方式:GET、POST、PUT、DELETE、HEAD、OPTION。使用代码示例如下: r1 = requests.get("http://xxx", params={"x": 1, "y": 2}) r2 = requests.post("http://xxx", data={"x": 1, "y": 2}) r3 = requests.put("http://xxx") r4 = requests.delete("http://xxx") r5 = requests.head("http://xxx") r6 = requests.options("http://xxx") 注意事项: URL 链接里有中文时会自动转码。 使用 post 时,如果传递的是一个 str 而不是一个 dict,则会直接发送出去(如 JSON字符串)。 2.4.2 版新增:可以通过 json 参数传递 dict,会自动把 dict 转换为 JSON 字符串。 post 可以通过 file 参数上传文件,如 post(url, files={'file': open('report.xls', 'rb')})。
|