爬虫的框架:
scrap :
1.
An open source and collaborative framework for extracting the data you need from websites.
In a fast, simple, yet extensible way.
1.开源的爬虫框架
2.快速、简单、高效的方式
2.安装部署
3.基本使用
1.创建一个项目
scrapy startproject test_scrapy
1.项目目录:
1.scrapy.cfg 【项目的配置文件】
2.settings.py 【项目的配置文件】
3. spiders/ 【防止 爬虫代码的目录】
2.编写爬虫代码
1.创建一个 爬虫代码
scrapy genspider [options] <name> <domain>
scrapy genspider python01 www.xxx.com
'''
name:
1.不能重复
2.爬虫文件的名字
'''
name = 'python01'
'''
scrapy 允许爬取的 url
'''
allowed_domains = ['www.baidu.com']
'''
scrapy 去爬取的 url 列表
'''
start_urls = ['http://www.baidu.com/','https://www.sougou.com']
3.启动爬虫项目
1.启动命令
scrapy runspider [options] <spider_file>
scrapy runspider ./test_scrapy/spiders/python01.py
爬虫:
1.百度百科
2.自己理解:
通过代码、模拟浏览器上网 然后抓取数据的过程 数据解析
2.爬虫是否合法?
1.法律允许
2.有法律风险的
3.统一规定? 【法律界限】
robots.txt协议
4.爬虫的分类:
1.获取一整张页面 【通用爬虫】
2.获取一整张页面 部分数据 【聚焦爬虫】
3.检查页面更新、获取页面最新的更新的数据 【增量式爬虫】
5.爬虫的规则:
1.反爬策略:
门户网站 通过 技术手段 防止爬虫程序对页面爬取数据
2.反 反爬策略
爬虫程序 通过 技术手段 对页面爬取数据
http 与https
service 与 client 进行数据交互的一种形式
request:
User-Agent: 请求载体的身份标识
response:
Content-Type:服务器响应client的数据类型
6.爬虫技术
1.urllib 【老】
2.requests 【好用】
requests:
1.是什么
python自带的 基于网络请求的模块 功能强大 简单高效
2.干什么
模拟浏览器发送请求
3.怎么用:
1.指定url
2.发送请求【get、post】
3.获取相应的数据
4.存储数据
pip install requests
如何获取一整张页面的部分内容?
1.整个html + html数据解析【数据解析没讲】
2.获取部分html
爬取图片:
数据解析:
1.为什么要进行数据解析?
1.为了获取指定的页面数据
html
2.数据解析分类:
1.正则 【了解】
2.bs4
3.xpath 【重要】 scrapy
3.解析的数据有哪些?
1.数据源:
html
2.文本 或者 图片 =》 html标签里面 或者 标签的属性
4.如何解析?
1.标签定位
2.解析数据
5.聚焦爬虫?
1.指定url
2.发起请求
3.获取相应数据
4.数据解析
5.存储数据
bs4:
数据解析的工具
原理:
1.标签定位
2.解析数据
怎么用:
1.实例化bs4类 BeautifulSoup => 加载 html
2.调用api 标签定位+ 解析数据
pip install bs4 -i https://pypi.douban.com/simple
使用:
bs4 api