day01爬虫学习
我的随笔
1、什么是爬虫
爬虫就是抓取数据
2、什么是互联网
由一堆网络设备,把一台台计算机互联到一起称之为互联网
3、互联网建立的目的
数据的传递和数据的共享
4、什么是数据
例如:电商平台的商品数据
链接,信息...
5、什么是上网
普通用户:
打开浏览器→输入网址→往目标主机发送请求
→返回响应数据
→把数据渲染到浏览器中
爬虫程序:
模拟浏览器→往目标主机发送请求
→返回响应数据
→解析并提取有价值的数据
→保存数据(文件写入本地、持久化到数据库中)
6、爬虫的全过程
1、发送请求(请求库:Requests/Selenium)
2、获取响应数据
3、解析数据(解析库:BeautifulSoup4)
4、保存数据(存储库:文件保存/MongoDB)
总结:我们可以把互联网中的数据比喻成一座宝藏,爬虫其实就是在挖去宝藏
二、requests请求库
1、安装与使用
pip3 install requests
2、分析请求流程(模拟浏览器)
-百度
1、请求url
2、请求方式
get
3、请求头信息
User-Agent:用户代理
实验代码:
import requests import re def get_page(url): response=requests.get(url) return response #2、解析数据 def parse_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 parse_detail(html): movie_url=re.findall('<source src="(.*?)>',html,re.S) if movie_url: return movie_url[0] #3、保存数据 import uuid def save_video(content): with open(f'{uuid.uuid4()}.mp4','wb')as f: f.write(content) if __name__ == '__main__': url = 'http://www.xiaohuar.com/v/' response=get_page(url) detail_urls=parse_index(response.text) for detail_url in detail_urls: detail_res=get_page(detail_url) movie_url=parse_detail(detail_res.text) # print(detail_url) # response=get_page(detail_url) # print(response.text) if movie_url: print(movie_url) movie_res=get_page(movie_url) save_video(movie_res.content)
结果: