###爬虫概述
- 什么是爬虫? -就是通过编写程序,让其模拟浏览上网,然后再互联网中抓取数据的过程。
-关键词抽取: -模拟:浏览器就是一个纯天然最原始的一个爬虫工具 -抓取: -抓取一整张的页面源码数据 -抓取一整张页面中的局部数据
- 爬虫的分类: -通用爬虫:
-聚焦爬虫- 要求我们爬取一整张页面源码数据
-增量式爬虫- 要求爬取一张页面中的局部的数据 -聚焦爬虫建立再通用爬虫基础之上 z
-分布式爬虫- 用来监测网站数据更新的情况,以便爬取到网站最新更新出来的数据
- 提高爬取效率的终极武器
- 反爬机制
- 是作用到门户网站中,如果网站不想让爬虫轻易取到数据,他可以制定相关的机制来阻止爬虫程序来获取数据
- 反反爬策略
- 是作用再爬虫程序中,通过策略破解反爬机制来获取数据
- 第一个反爬机制:
- robots协议
- 一个纯文本的协议,协议中规定该网站中哪些数据可以被爬,哪些不可以被爬。
- 破解:
- 你自己主观性的不遵从该协议即可
#获取豆瓣动态数据 import requests import json headers ={ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41' } url = 'https://movie.douban.com/j/chart/top_list' #从抓包中得到该url params = { 'type': '5', 'interval_id': '100:90', 'start': '0', 'limit': '100', } response = requests.get(url=url,headers=headers,params =params) page_test = response.json() with open('douban.html','w',encoding='gbk') as f: for mave in page_test: f.write(mave['score']) f.write(mave['title'])
- 你自己主观性的不遵从该协议即可
- robots协议