请选择 进入手机版 | 继续访问电脑版

VRPIP 虚拟化平台

 找回密码
 注册VRPIP
搜索
热搜: 活动 交友 discuz
查看: 18812|回复: 0

小白 学pyton 爬虫一

[复制链接]

8

主题

11

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2020-10-2 01:13:56 | 显示全部楼层 |阅读模式
本帖最后由 Tinken 于 2020-10-2 02:07 编辑

第一步:安装requests库
PS:网络请求必须
命令行:pip install requests
命令行:pip3 install requests
pip:python2的命令
pip3:python3的命令
python可以既可以使用pip,也可以使用pip3;如果系统同时用量python2和python3,则需要分开使用


第二步使用:引入requests库:import requests
requests.request(method, url, **kwargs)
method:请求方式:get、options、head、post、put、patch、delete,也支持自定义扩展url:请求的网络地址,如https://www.baidu.com**kwargs:自定义如下
  • 参数 params 是query string,它可以是一个字典,或者一个list,list的内容是一堆的tuple,也可以是bytes。
  • 参数 data 是 HTTP 请求中的 body ,它可以是一个字典,或者一个list,list的内容是一堆的tuple,也可以是bytes或者文件
  • 参数 json 是为了方便请求而提供的参数,它其实相当于 data ,但是会自动把请求的 Content-Type 设置为 application/json
  • 参数 headers 是 HTTP 请求中的头部,它是一个字典
  • 参数 cookies 是所携带的 Cookie ,它可以是一个字典或者 CookieJar 的实例
  • 参数 files 是要上传的文件,它可以是一个字典,字典的内容是tuple
  • 参数 auth 用于开启 HTTP 请求的认证
  • 参数 timeout 是超时时间
  • 参数 allow_redirects 是否允许重定向,它是一个布尔值
  • 参数 proxies 是是否使用代理
  • 参数 verify 是否检查服务端的证书,传布尔值或者 CA 的路径
  • 参数 stream 是布尔值,代表是否以流的方式读取结果
  • 参数 cert 传入客户端的SSL证书
也可以直接:requests.request(method, url, **kwargs)
requests.get(url, params=None, **kwargs)
requests.options(url, **kwargs)
requests.head(url, **kwargs)
requests.post(url, data=None, json=None, **kwargs)
requests.put(url, data=None, **kwargs)
requests.patch(url, data=None, **kwargs)
requests.delete(url, **kwargs)
或者直接:
GET请求:requests.get(‘http://xxx.com’)
POST请求:requests.post(“http://xxx.com”)
PUT请求:requests.put(“http://xxx.com”)
DELETE请求:requests.delete(“http://xxx.com”)
HEAD请求:requests.head(“http://xxx.com”)
OPTIONS请求:requests.options(“http://xxx.com” )

测试代码:
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-

  3. # @ClassName test2
  4. # @Description TODO
  5. # @Author lanlo
  6. # @Date 2020-10-02 0:45
  7. # @Version 1.0

  8. import requests

  9. url = "http://www.vrpip.com/forum.php?mod=viewthread&tid=62&extra="
  10. res = requests.get(url)

  11. # 查看返回数据对象
  12. print(type(res))
  13. # 结果:class 'requests.models.Response'
  14. # Response.status_code        检查请求是否成功        200 代表正常,404 代表网页不存在。
  15. # Response.encoding        定义编码        如果编码不对,网页就会乱码的。
  16. # Response.content        把数据转成二进制        用于获取图片、音频类的数据。
  17. # Response.text        把数据转为字符串        用于获取文本、网页原代码类的数据。

  18. # 打印响应状态码
  19. print(res.status_code)
  20. # 定义编码
  21. res.enconding = "utf-8"
  22. # 直接打印页面内容
  23. print(res.text)
  24. # 获得响应头内容
  25. print(res.headers)
  26. print(res.headers['content-type'])
  27. # 还可以用这种方式获取请求头内容
  28. print(res.request.headers)
  29. # 打印cookies
  30. print(res.cookies)
  31. # 打印二进制信息
  32. print(res.content)
  33. # 打印二进制信息
  34. print(res.content.decode("utf-8"))
复制代码





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册VRPIP

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册VRPIP

本版积分规则

快速回复 返回顶部 返回列表