博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 网络爬虫与信息获取(一)—— requests 库的网络爬虫
阅读量:5031 次
发布时间:2019-06-12

本文共 1317 字,大约阅读时间需要 4 分钟。

1. 安装与测试

进入 cmd(以管理员权限),使用 pip 工具,pip install requests 进行安装;

基本用法:

>> import requests>> r = requests.get('http://www.baidu.com')                    # 访问百度主页>> r.status_code200                         # 状态码,200 表示访问成功>> r.encoding = 'utf-8'                    # 修改编码>> r.text                    # 打印网页内容

2. requests 库的七个主要方法

  • request:构造一个请求,是构造以下各方法的基础方法
    • 后续的 6 个方法均需调用 request 方法;
  • get:获取 html 网页的主要方法,对应于 http 的 get;
    • r = requests.get(url)
      • 构造一个向服务器请求资源的 Request 对象
      • 返回一个包含服务器资源的 Response 对象
  • head:获取 html 网页头信息,对应于 http 的 head;
  • post:向 html 网页提交 post 请求,对应于 http 的 post;
  • put:向 html 网页提交 put 请求,对应于 http 的 put;
  • patch:向 html 网页提交局部修改请求(patch,补丁,也就是修改,局部更新),对应于 http 的 patch;
  • delete:向 html 页面提交删除请求,对应于 http 的 delete;

4. Response 对象的属性

  • r.status_code
    • r.status_code == requests.codes.ok,如果返回 True,则表示打开正常;
  • r.text:http 相应内容的字符串形式
  • r.content:http 相应内容的二进制形式;
  • r.encoding:猜测的编码,从 headers 中的 charset 中获得,但并非所有的服务器都会对其相关资源的编码进行规定和要求;
    • 如果 headers 中不存在 charset,则认为(猜测)其编码为ISO-8859-1
  • r.apparent_encoding:根据内容分析出的编码方式,备选编码;
>> r = requests.get('http://www.baidu.com')>> r.encoding'ISO-8859-1'>> r.apparent_encoding'utf-8'>> r.encoding = r.apparent_encoding

5. 与其他库的结合

  • BeautifulSoup:做 html 页面的解析;
>> from bs4 import BeautifulSoup>> r = requests.get(url)>> BeautifulSoup(r.text).get_text()

转载于:https://www.cnblogs.com/mtcnn/p/9421808.html

你可能感兴趣的文章
hexo 搭建博客
查看>>
关于 UIWebView 几个高级用法
查看>>
maven创建的项目中无法创建src/main/java 解决方案
查看>>
华为软件开发云测评报告二:代码检查
查看>>
集合1
查看>>
关键词 virtual
查看>>
建造者模式(屌丝专用)
查看>>
UVALive 4730 Kingdom +段树和支票托收
查看>>
[APIO2010]特别行动队
查看>>
SpringBoot 集成ehcache
查看>>
初步swift语言学习笔记2(可选类型?和隐式可选类型!)
查看>>
Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
查看>>
在Vs2012 中使用SQL Server 2012 Express LocalDB打开Sqlserver2012数据库
查看>>
在Macos下完美解决Adobe Dreamweaver CC 2018 汉化及操作方法
查看>>
【转】 Newtonsoft.Json高级用法
查看>>
CodeBlocks X64 SVN 编译版
查看>>
Excel催化剂开源第42波-与金融大数据TuShare对接实现零门槛零代码获取数据
查看>>
bug记录_signalr执行$.connnection.testhub结果为空
查看>>
【转】常用的latex宏包
查看>>
[TMS320C674x] 一、GPIO认识
查看>>