【爬虫案例】Requests爬取豆瓣短评以及入门爬虫注意事项

一、Requests是什么?

Requests 是一个 Python 的 HTTP 客户端库。

支持的 HTTP 特性:

保持活动和连接池、国际域名和URL、Cookie持久性会话
浏览器式SSL验证、自动内容解码、基本/摘要身份验证、优雅的键/值Cookie、自动减压、Unicode响应机构、HTTP(S)代理支持
分段文件上传、流下载、连接超时、分块请求、.netrc支持、线程安全

Requests库的七个主要方法(掌握get即可

requests.request() 构造一个请求,支撑以下各方法的基础方法
requests.get() 获取HTML网页的主要方法,对应于HTTP的GET
requests.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD
requests.post() 向HTML网页提交POST请求的方法,对应于HTTP的POST
requests.put() 向HTML网页提交PUT请求的方法,对应于HTTP的PUT
requests.patch() 向HTML网页提交局部修改请求,对应于HTTP的PATCH
requests.delete() 向HTML网页提交删除请求,对应于HTTP的DELETE

二、爬取步骤

1.安装requests
(1)pip安装

pip install requests

(2)打开ide的相应位置(以pycharm为例)
在这里插入图片描述
2.设置网页
在这里插入图片描述
在这里插入图片描述
3.开始爬取

爬取网页通用框架定义函数=>设置超时=>异常处理=>调用函数

爬取代码:

# 导入Requests
import requests
# 爬取url
url = "https://www.douban.com/"
# 定义获取Text内容
def getHTMLText(url):
  try:
    # 设置请求头(豆瓣设有反爬机制)
    headers = {
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'
    }
    response = requests.get(url, headers=headers, timeout=200);  # 设置超时
    response.raise_for_status()
    response.encoding = 'utf-8'
    return response.text
  except:
    return "产生异常"
# __name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。
# 这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块
# 是被导入时,代码块不被运行
# 相当于入口
if __name__ == '__main__':
  print(getHTMLText(url))

r.status_code:http请求的返回状态,200表示连接成功(阅读HTTP状态码,了解各状态码含义)
r.text:返回对象的文本内容
r.content:猜测返回对象的二进制形式
r.encoding:分析返回对象的编码方式
r.apparent_encoding:响应内容编码方式(备选编码方式)

三、注意事项
爬虫协议

什么是爬虫协议:爬虫协议,也被叫做robots协议,是为了告诉网络蜘蛛哪些页面可以抓取,哪些页面不能抓取

如何查看爬虫协议:在访问网站域名后加上robots.txt即可,例如查看百度网站的爬虫协议:https://www.baidu.com/robots.txt

爬虫协议属性:
拦截所有的机器人:
User-agent: *
Disallow: /

允许所有的机器人:
User-agent: *
Disallow:
阅读robots协议,了解更多爬虫协议属性。

爬虫建议

爬取互联网公开数据
尽量放慢你的速度
尽量遵循robots协议
不要用于商业用途
不要公布爬虫程序与数据

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值