什么是爬虫?
爬虫的价值:
爬虫的合法性:
爬虫带来的风险具体体现:
爬虫在使用场景中的分类
门户网站通过指定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取
爬虫程序通过指定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网站数据
君子协议,规定了网站中哪些数据可以被爬虫爬取,哪些数据不可以被爬取
概念:
常用请求头信息:
常用响应头信息:
概念:
加密方式:
发送网络请求的模块
requests 模块:
requests 语法
使用方法:
环境安装:
pip insatll requests
需求保存百度首页页面源代码
import requests # 1、 指定 url url = "http://www.baidu.com" headers = { "Accept": "text/plain, */*; q=0.01", "Accept-Encoding": "gzip, deflate, br", "Accept-Language": "zh-CN,zh;q=0.9", "Connection": "keep-alive", 'User-Agent': "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 96.0.4664 .93 Safari / 537.36", } # 2、 发起请求,获取响应数据 resp = requests.get(url=url, headers=headers).text # text 返回字符串形式的响应数据 # 3、 持久化存储 whit open("./baidu.html", w, encoding="utf-8") as f: f.write(resp) print("爬取完成")
UA :User-Agent
门户网站的服务器会检测对应请求的载体身份标识,如果检测到请求的载体身份标识为浏览器,则为正常用户;反之,如果请求的载体身份标识不是基于浏览器的,则为不正常请求(爬虫),服务器端很有可能会拒绝访问
使用 fake_useragent
库
安装:pip install fake_useragent
语法:
from fake_useragent import UserAgent as ua headers = { "User-Agent": ua().random, }
格式化headers 方法:
(.*?): (.*?)$
"$1": "$2",
数据解析原理:
解析的局部文本内容都会在标签之间或者标签对应的属性进行存储
正则解析语法
bs 解析语法
xpath 解析语法
PyQuery 解析语法
将我们通过爬虫的到的数据进行数据的持久化存储以及数据的可视化分析
数据分析基础