首页
学习
活动
专区
工具
TVP
发布

Python爬虫准备:认识urllib/urllib2与requests

首先说明一下我的爬虫环境是基于的, 为什么用这个版本呢,因为的版本支持的多,而且一般会使用环境,基本在也没有太大问题,好了,进入正题!

urllib 与 urllib2

与2是内置的,要实现请求,以为主,为辅.

** 构建一个请求与响应模型**

这样就获取了整个网页内容.

说明

第一个参数URL必传的,第二个参数data是访问URL时要传送的数据,第三个timeout是设置超时时间,后面两个参数不是必传的.

Get与Post传送数据

post与get传送数据是两个比较常用的数据传送方式,一般只需要掌握这两种方式就可以了.

Get方式传送数据

post数据传送方式

两种请求方式差异点:

与方式的数据传输时注意这里面的数据传输

注意处理请求的headers

很多时候我们服务器会检验请求是否来自于浏览器,所以我们需要在请求的头部伪装成浏览器来请求服务器.一般做请求的时候,最好都要伪装成浏览器,防止出现拒绝访问等错误,这也是一种反爬虫的一种策略

在浏览器上打开然后按F12,查看:

User-Agent : 有些服务器或 Proxy 会通过该值来判断是否是浏览器发出的请求

Content-Type : 在使用 REST 接口时,服务器会检查该值,用来确定 HTTP Body 中的内容该怎样解析。

application/xml : 在 XML RPC,如 RESTful/SOAP 调用时使用

application/json : 在 JSON RPC 调用时使用

application/x-www-form-urlencoded : 浏览器提交 Web 表单时使用

在使用服务器提供的 RESTful 或 SOAP 服务时, Content-Type 设置错误会导致服务器拒绝服务

requests

是Python最为常用的请求库,也是极其简单的.使用的时候,首先需要对进行安装,直接使用Pycharm进行一键安装。

1.响应与编码

2.Get请求方式

3.Post请求方式

4.请求头headers处理

5.响应码code与响应头headers处理

6.cookie处理

7重定向与历史消息

处理重定向只是需要设置一下字段即可,将设置为则是允许重定向的,设置为则禁止重定向的

8.超时设置

超时选项是通过参数来设置的

9.代理设置

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180118G00IFM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券