今日内容:
爬虫课程:
一爬虫基本原理
二requests请求库
一爬虫基本原理
1、什么是爬虫?
爬虫就是爬取数据。
2、什么是互联网?
由一堆网络设备,把一台台的计算机互联到一起称之为互联网。
3、互联网建立的目的
数据的传递与数据的共享。
4、什么是数据?
例如:
电商平台的商品信息(淘宝、京东、亚马逊)
链家、自如租房平台的房源信息
股票证券投资信息(东方财富、雪球网)
...
12306,票务信息(抢票)
5、什么是上网?
普通用户:
打开浏览器
---> 输入网址
---> 往目标主机发送请求
---> 返回响应数据
---> 把数据渲染到浏览器中
爬虫程序:
模拟浏览器
---> 往目标主机发送请求
---> 返回响应数据
---> 解析并提取有价值的数据
---> 保存数据(从文件写入本地、持久化到数据库中)
6、爬虫的全过程
1.发送请求(请求库: Requests/Selenium)
2.获取响应数据
3.解析数据(解析库: BeautifulSoup4 )
4.保存数据(存储库:文件保存/MongoDB)
总结:我们可以把互联网中的数据比喻成一座宝藏,
爬虫其实就是在挖取宝藏。
import time import requests def get_page(url): response=requests.get(url) return response import re def parse_index(html): detail_urls=re.findall( '<div class="items"><a class="imglink" href="(.*?)"',html,re.S) print(detail_urls) return detail_urls def parse_detail(html): movie_url=re.findall('<source src="(.*?)">',html,re.S) if movie_url: return movie_url[0] import uuid def save_video(content): with open(f'{uuid.uuid4()}.mp4','wb') as f: f.write(content) print('视频下载完成') if __name__ == '__main__': for line in range(6): url=f'http://www.xiaohuar.com/list-3-{line}.html' response=get_page(url) detail_urls=parse_index(response.text) for detail_url in detail_urls: print(detail_url) detail_res=get_page(detail_url) movie_url=parse_detail(detail_res.text) if movie_url: print(movie_url) movie_res=get_page(movie_url) save_video(movie_res.content)