Python 网络爬虫与信息获取(一)—— requests 库的网络爬虫
1. 安装与测试
进入 cmd(以管理员权限),使用 pip 工具,pip install requests 进行安装;
基本用法:
>> import requests
>> r = requests.get('http://www.baidu.com')
# 访问百度主页
>> r.status_code
200
# 状态码,200 表示访问成功
>> r.encoding = 'utf-8'
# 修改编码
>> r.text
# 打印网页内容
2. requests 库的七个主要方法
- request:构造一个请求,是构造以下各方法的基础方法;
- 后续的 6 个方法均需调用 request 方法;
- get:获取 html 网页的主要方法,对应于 http 的 get;
- r = requests.get(url)
- 构造一个向服务器请求资源的 Request 对象;
- 返回一个包含服务器资源的 Response 对象;
- r = requests.get(url)
- 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
- 如果 headers 中不存在 charset,则认为(猜测)其编码为
- 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()
Python 网络爬虫与信息获取(一)—— requests 库的网络爬虫的更多相关文章
- 爬虫1.1-基础知识+requests库
目录 爬虫-基础知识+requests库 1. 状态返回码 2. URL各个字段解释 2. requests库 3. requests库爬虫的基本流程 爬虫-基础知识+requests库 关于html ...
- Python爬虫:HTTP协议、Requests库(爬虫学习第一天)
HTTP协议: HTTP(Hypertext Transfer Protocol):即超文本传输协议.URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源. HTTP协议 ...
- Python爬虫(二):Requests库
所谓爬虫就是模拟客户端发送网络请求,获取网络响应,并按照一定的规则解析获取的数据并保存的程序.要说 Python 的爬虫必然绕不过 Requests 库. 1 简介 对于 Requests 库,官方文 ...
- python之爬虫(四)之 Requests库的基本使用
什么是Requests Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库如果你看过上篇文章关于urllib库的使用,你会发现,其 ...
- Python爬虫学习==>第八章:Requests库详解
学习目的: request库比urllib库使用更加简洁,且更方便. 正式步骤 Step1:什么是requests requests是用Python语言编写,基于urllib,采用Apache2 Li ...
- 整理UWP中网络和设备信息获取的帮助类,需要的拿走。
网络(运营商信息,网络类型) public static class NetworkInfo { /// <summary> /// 网络是否可用 /// </summary> ...
- Python爬虫:HTTP协议、Requests库
HTTP协议: HTTP(Hypertext Transfer Protocol):即超文本传输协议.URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源. HTTP协议 ...
- python爬虫---从零开始(三)Requests库
1,什么是Requests库 Requests是用python语言编写,基于urllib,采用Apache2 Licensed 开源协议的HTTP库. 它比urllib更加方便,可以节约我们大量的工作 ...
- 爬虫入门【2】Requests库简介
发送请求 使用Requests发送网络请求很简单 #首先要导入requests库 import requests #返回一个Response对象 r=requests.get('https://git ...
随机推荐
- HttpClient的基本使用
HttpClient的基本使用 前言 HttpClient是Apache提供的一个用于在Java中处理HTTP请求.响应操作的工具,由于JDK自带的API对HTTP协议的支持不是很友好,使用起来也不是 ...
- OSX: 逻辑卷管理系统Core Storage(1)
Mac高大上嘛? Mac由于贵就高大上了?Mac由于没有这个哪个就不高大上了?本文没有结论,仅仅是回归技术本源,是不是高大上还要大家自己评说. 大多数Mac用户可能并不在乎苹果的OS X操作系统缺少一 ...
- Android触摸事件(五)-CropBitmapActivity关于裁剪工具的使用
文件夹 文件夹 概述 传递数据 裁剪流程 其他事项 使用方式 图片辅助功能 图片缩略图载入 图片旋转 源代码 GitHub地址 演示样例GIF 概述 这个Activity是为了裁剪图片的.使用时须要提 ...
- SQL-.db 数据库查看常用指令(转载)
一下内容转载自http://blog.sina.com.cn/s/blog_74dfa9f401017s69.html 简介sqlite3一款主要用于嵌入式的轻量级数据库,本文旨在为熟悉sqlite3 ...
- matlab 可视化 —— 高级 api(montage)、insertObjectAnnotation、insertMaker
1. montage:同时显示多个图像 thumbnails = train_x(:, :, :, 1:100); thumbnails = imresize(thumbnails, [64, 64] ...
- 自定义HTML标签属性
为HTML元素添加一自定义的属性非常方便,只须将其加到尖括号中即可,与内置属性地位相等. 如我们要为TextBox元素添加属性idvalue: <input type="text&qu ...
- Docker---(3)Docker常用命令
原文:Docker---(3)Docker常用命令 版权声明:欢迎转载,请标明出处,如有问题,欢迎指正!谢谢!微信:w1186355422 https://blog.csdn.net/weixin_3 ...
- Loading half a billion rows into MySQL---转载
Background We have a legacy system in our production environment that keeps track of when a user tak ...
- C#中防止程序多次运行
C#中如何防止程序多次运行?只要在程序入口点函数Main()中的开始部分添加如注释部分的代码,就能快捷实现. 示例代码如下: using System; using System.Collecti ...
- 常用的织梦dedecms安全设置集合整理
织梦系统用户很多,被发现的漏洞也就相对很多,所以网站安全需要做好,很多所谓的“黑客”都是用工具来扫描入侵,厉害点的人是不屑来黑我们的小网站的,所以在我们不是专业维护人员情况下,做好一般的安全防护就可以 ...