爬虫相关介绍
爬虫就是编写程序,模拟浏览器上网,让其去互联网中抓取数据的过程
爬虫在应用场景的分类:
- 通用爬虫:
- 将一个页面中所有的数据获取。
- 聚焦爬虫
- 将页面中局部的指定的数据进行提取/抓取
- 功能爬虫
- 通过浏览器或者app自动化的操作,实现相关的网页或者app自动化的操作。代替人工在网页或者手机软件中自动执行相关的行为动作。如批量点赞,批量评论,刷单等操作。
- 增量式爬虫
- 用来监测网站数据更新的情况。以便爬取网站最新更新出来的数据!
- 分布式爬虫
- 可以对网站所有的资源使用分布式机群进行分布和联合的数据爬取
爬虫合法性探究
-
爬虫所带来风险主要体现在以下3个方面:
- 1、违反网站意愿,例如网站采取反爬措施后,强行突破其反爬措施;
- 2、爬虫干扰了被访问网站的正常运营;
- 3、爬虫抓取了受到法律保护的特定类型的数据或信息。
-
因此怎么避免
- 1、严格遵守网站设置的robots协议;
- 2、在规避反爬虫措施的同时,需要优化自己的代码,避免干扰被访问网站的正常运行;
- 3、在使用、传播抓取到的信息时,应审查所抓取的内容,如发现属于用户的个人信息、隐私或者他人的商业秘密的,应及时停止并删除。
requests基础操作
-
基本介绍
- requests就是爬虫中一个基于网络请求的模块。
- 作用:模拟浏览器上网的。
- urllib模块就是一个老版的requests模块,现在没人用urllib
-
环境安装
pip install requests
-
编码流程
- 指定url
- 发起请求
- 获取响应数据
- 持久化存储
简单案例演示requests使用过程:
import requests
#1.指定url
url = 'https://www.sogou.com/'
#2,发起请求(只要在浏览器地址栏输入网址按下回车,发起的一定get请求)
#url为get方法的第一个参数,表示根据指定的url发起get请求
#get方法会返回一个响应对象
response = requests.get(url=url) #get使用来使用requests模块发起get请求
#设置编码为UTF-8
response.encoding = 'utf-8'
#3.获取响应数据/爬取到的数据
page_text = response.text #text属性使用来返回字符串形式的响应数据
#4.持久化存储
with open('./sogou.html','w',encoding="utf-8") as fp:
fp.write(page_text)
print('数据爬取存储成功!')
第一篇算是开个头,后续会继续更新爬虫的相关笔记,欢迎大家一起来交流