在python爬虫中,要想获取url的原网页,就要用到众所周知的强大好用的requests库,在2018年python文档年度总结中,requests库使用率排行第一,接下来就开始简单的使用requests库吧.

配置好python环境后,python配置大家应该都会,至于path路径下载安装界面右下角就有add to path 很简便,这里主要是window环境下的使用,至于Linux环境,我暂时还没有深入了解,用yum install或者  wget命令都是可行的.

 在window环境下,推荐是用pip进行安装,因为便捷而且不用考虑文件的解压路径:

pip install requests

  首先requests有文档说明,requests文档 多观察库文档,有利于我们了解该库创建者的意图,现在可以尝试使用requests库获取一个网页的源代码了:代码如下

import requests

url='https://www.cnblogs.com/hxms/p/10412179.html'

response=requests.get(url)

print(respones.text)

requests code

但是为了更好获取源代码,还需要对该代码进行一定的优化,比如是否考虑statue_code==200,响应码是否正常,正常还可以请求该网页,否则返回错误原因,代码如下:

import requests

def get_page():

    try:

        url="https://www.cnblogs.com/hxms/p/10412179.html"

        response=requests.get(url)

        if response.status_code==200:

            return response.text

    except requests.ConnectionError:

        return None

get_page()

requests Codes

 运用了get_page的函数,对requests的方法进行优化,最后还可以添加main函数进行打印输出

def main():

    data=get_page()

    print(data)

if __name__ == "__main__":

    main()

 进行如下

这样就可以简单的获取网页的源代码了,但是在现实过程中,网页是经过js渲染的,即可以理解为该HTML只是个空体,只是引用了某个js文本,这样就会造成requests请求的源代码出现错误,造成后期抓不到想要的数据,不过没有关系,F12提供了强大的抓包工具,无论是Ajax或者是直接js渲染的网页,我们都有相应的解决方法,例如利用selenium库进行自动化运行,抑或是xhr文件里的json字典格式化存储,都是可以解决这些问题的.

 关于requests库还有许多参数没用上,比如proxies(代理,抓取数量过大时会导致该请求网址对我们的IP进行封禁,导致304请求失败),headers(头请求),现在许多网页会设置反爬虫设置,如果你不加请求头的话,服务器是不会返回任何信息给你的,但是requests库为你提供了伪装浏览器的方法,运用User-Agent;host等运用字典添加进去,更容易获取我们想要的信息.更多方法可以参考上面的requests文档.

python爬虫之requests库的更多相关文章

  1. Python爬虫之requests库介绍(一)

    一:Requests: 让 HTTP 服务人类 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 ...

  2. Python爬虫:requests 库详解,cookie操作与实战

    原文 第三方库 requests是基于urllib编写的.比urllib库强大,非常适合爬虫的编写. 安装: pip install requests 简单的爬百度首页的例子: response.te ...

  3. Python爬虫之requests库的使用

    requests库 虽然Python的标准库中 urllib模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests宣传是 "HTTP for ...

  4. 【Python爬虫】Requests库的基本使用

    Requests库的基本使用 阅读目录 基本的GET请求 带参数的GET请求 解析Json 获取二进制数据 添加headers 基本的POST请求 response属性 文件上传 获取cookie 会 ...

  5. python爬虫(1)requests库

    在pycharm中安装requests库的一种方法 首先找到设置 搜索然后安装,蓝色代表已经安装 requests库中的get请求 与HTTP协议相对应,requests库也有七种请求方式. 获取ur ...

  6. python爬虫之requests库介绍(二)

    一.requests基于cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们 ...

  7. Python爬虫之Requests库的基本使用

    import requests response = requests.get('http://www.baidu.com/') print(type(response)) print(respons ...

  8. Python爬虫系列-Requests库详解

    Requests基于urllib,比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求. 实例引入 import requests response = requests.get( ...

  9. python下载安装requests库

    一.python下载安装requests库 1.到git下载源码zip源码https://github.com/requests/requests 2.解压到python目录下: 3.“win+R”进 ...

随机推荐

  1. iOS的AssetsLibrary框架访问所有相片

    该框架下有几个类,ALAssetsLibrary,ALAssetsGroup,ALAsset,ALAssetsFilter,ALAssetRepresentation. ALAssetsLibrary ...

  2. Content Editor Webpart(三)使用JSOM

    JSOM是SharePoint 提供的一种clientAPI.开发者仅仅须要使用Javescript.就能够实现和SharePoint的交互.很方便. 首先依照 (Content Editor Web ...

  3. sharepoint 配置个人网站容量

    we have a SharePoint 2013 Standard edition implementation and 80 users. We are now starting to use M ...

  4. 原生js创建模态框

    1.效果图如下: 2.代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  5. C# 缓存工厂类

    描 述:缓存工厂类 /// <summary> /// 描 述:缓存工厂类 /// </summary> public class CacheFactory { /// < ...

  6. C#多个if与if+多个else if有何不同?

    int a=1; if(a==1){System.out.println("1");} if(a==2){System.out.println("2");} i ...

  7. Linux相关网络命令

    1.简述osi七层模型和TCP/IP四层模型 OSI七层模型 TCP/IP四层模型 2.简述iproute家族命令 ip命令: ip [OPTIONS] OBJECT {COMMAND|help} i ...

  8. 解决 Cydia 源显示空白的问题

    打开 Cydia 所有源都显示空白,没有任何插件,已安装的列表也显示空白,解决方法是下载 var.lib_tar 包 下载链接: https://pan.baidu.com/s/1jzJ8KehoBo ...

  9. Delphi Android USB声明文件

    自己转的比较全面的USB声明文件: unit Androidapi.JNI.USB; interface uses AndroidAPI.JNIBridge, Androidapi.JNI.JavaT ...

  10. Kb Article Helper

    using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Que ...