Requests爬取网页内容

Posted ydqq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Requests爬取网页内容相关的知识,希望对你有一定的参考价值。

Requests的简单用法

Requests主要方法:

  • requests.request() #构造一个请求,支撑以下各方法的基础方法
  • requests.get() #get方法获取网页
  • requests.head() #获取网页头信息的方法,对应HTTP的HEAD
  • requests.post() #post方法获取网页信息
  • requests.put() # put方法获取网页信息(一般用不到)
  • requests.patch() # patch方法请求网页信息(一般用不到)
  • requests.delete() #向html网页提交删除请求

Requests.get的用法:

import requests	# 导入方法
r = requests.get(url)		#发送请求获得相应

Response对象的属性:

  • r.status_code # 返回的状态码,不同状态码代表不同意思,200表示返回正常。
  • r.text #返回对象的文本内容
  • r.content #猜测返回对象的二进制形式
  • r.encoding #分析返回对象的编码方式
  • r.apparent_encoding #相应内容编码方式(备选编码方式)
  • r.raise_for_status() #抛出异常

爬取豆瓣网页信息

分析豆瓣短评网页是动态加载还是静态加载

  1. 在谷歌浏览器中进制js
  2. 如果是静态加载则使用正常URL请求,如果是动态加载则分析真是请求。

使用Requests下载数据

  1. 导入Requests库
  2. 输入URL
  3. 使用GET方法
  4. 打印返回文件
  5. 抛出异常

爬取网页的通用框架

  1. 定义函数
  2. 设置超时
  3. 异常处理
  4. 调用函数

代码:

import requests

def getHTML(url):
    try:
        r = requests.get(url)
        r.raise_for_status()    #抛出异常
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return "请求发生错误错误"

if __name__ == '__main__':
    url = 'https://movie.douban.com/subject/1907464/'
    print(getHTML(url))

爬虫协议(robots)

什么是爬虫协议:
爬虫协议又称为robots协议,用来表明那些网站中那些内容可以抓去那些内容不可以抓去。

爬虫协议文件规范:

  1. 必须以robots.txt命名的文本文件保存;
  2. 必须保存在网站的顶级目录下;

爬虫协议参数说明:
拦截所有爬虫:
User-agent:*
Disallow:/
允许所有爬虫:
User-agent:*
Disallow:

Allow:是允许爬取的内容
Disallow:是不允许爬取的内容
Crawl-delay:10:规定爬虫延迟时间为10秒

查看爬虫协议:
直接在URL栏中,在顶级域名后输入robots.txt即可查看
例:www.baidu.com/robots.txt

以上是关于Requests爬取网页内容的主要内容,如果未能解决你的问题,请参考以下文章

python实例:自动爬取豆瓣读书短评,分析短评内容

Requests爬取网页内容

Requests爬取网页内容

Python requests爬取今日头条,为啥获取不了网页内容

Python:爬取豆瓣短评用户数据(城市注册时间发表时间评分评论内容)

python requests 简单网页文本爬取