一、爬虫基本原理
1.什么是爬虫
爬虫就是爬取数据
2.什么是互联网?
就是由一堆网络设备,把一台台的电脑互联在一起
3.互联网建立的目的
数据的传递和数据共享
4.什么是数据?
例如:
电商平台的商业信息(淘宝、京东、亚马逊)
链家、自如等租房信息
股票政券投资信息
12306票务信息
....
4.1什么是进程和线程
打比方:打开QQ是进程
QQ中的很多群是线程
5.什么是上网
普通用户:
打开浏览器
→输入网址
→往目标主机发送请求
→返回响应数据
→把数据渲染到浏览器中
爬虫程序:
模拟浏览器
→往目标主机发送请求
→返回响应数据
→提取有价值的信息
→保存数据(文件写入本地、持久化到数据库)
6.爬虫的全过程
1.发送请求
请求库:Requests/Selenium
2.获取响应数据
3.解析数据
解析库:BeautifulSoup4
4.保存数据
存储库:文件保存/MongoDB
总结
假如把互联网中的数据比作一座宝藏,爬虫其实就是在挖取宝藏
二、Requests请求库
1.安装
方法一:pip3 install requests
如果报错,则是环境变量没有配好,可以在pycharm中下载
方法二:
2.分析请求流程(模拟浏览器)
-百度
1.请求url:https://www.baidu.com/
2.请求方式
3.响应状态码
三、爬虫三部曲(测试)
1.发送请求
# 发送请求
def get_page(url):response = requests.get(url)return response
2.解析数据
#解析主页页面
import re
def pare_index(html):#findall 匹配所有# re.findall('正则匹配规则','匹配文本','匹配模式')#re.S 对全部文本进行搜索detail_urls = re.findall('<div class="items"><a class="imglink" href="(.*?)"',html,re.S)return detail_urls# 解析详情页
def pare_detail(html):detail_urls = re.findall('<sourse src="(.*?)">',html,re.S)return detail_urls
3.保存数据
#保存文件
import uuid
def save_movie(content):with open(f'{uuid.uuid4()}','wb') as f:f.write(content)print("视频下载完毕")