今日内容:
爬虫课程:
一爬虫基本原理
二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 responseimport re def parse_index(html):detail_urls=re.findall('<div class="items"><a class="imglink" href="(.*?)"',html,re.S)print(detail_urls)return detail_urlsdef 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)