day01 学习爬虫

爬虫课程:

.爬虫的基本原理二.requests请求库爬虫的基本原理

1.什么是爬虫

爬虫是抓取数据2.什么是互联网

由一堆网络设备,把一台台的计算机互联到一起称之为互联网      3.互联网建立的目的

数据的传递与数据的共享4.什么是数据

例如:电商平台的商品数据链接,信息

  1. 什么是上网? 普通用户

打开浏览器

→输入地址

→往目标主机发送请求

→返回响应数据

→把数据渲染到浏览器

爬虫程序: 模拟浏览器

→往目标主机发送请求

→返回响应数据

→解析并提取有价值的数据

→保存数据(文件写入本地,持久化的数据库中)

  1. 爬虫全过程

1.发送请求(请求库:requests/selenium) 2.获取响应数据

  1. 解析数据(解析库:beautifulSoup4)
  2. 保存数据(存储库:文件保存/MongoDB)

总结:我们可以把互联网的数据比喻成一座宝藏爬虫其实就是在挖取宝藏

.request的请求库1.安装与使用

Pip3 install requests

分析请求流程(模拟浏览器)

-百度“ 1.请求url

http://www.baidu.com 2.请求方式

GET

3.请求头信息

user-agent:用户处理

#爬虫三部曲

1.发送请求

Def get_page(url)

response = requests.get(url) return response

2.解析数据

Import re

Def parse_index(html); #findall匹配所有

#re.findall('正则匹配规则','匹配文本''匹配模式')

#re.S:对所有文本进行搜索匹配

Res = re.findall()

3.保存数据

 #main + 回车键If_name_=='_main_':

Url= ' http://www.xiaohuar.com/v/'

Fasong qingqiu

Reponse = get_page(url)

Return reponse

#返回响应状态码Print(reponse.status_code)

返回响应文本

Print(response.text)

解析主页页面

 

 





import requests
import re
import time
import uuid
def save_video(content):
with open(f'{uuid.uuid4()}.mp4','wb') as f:
f.write(content)
print('OK!')
def get_page(url):
response = requests.get(url)
return response

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]

if __name__ == '__main__':
url = 'http://www.xiaohuar.com/v/'
response = get_page(url)
#print(response)
#print(response.status_code)
# print(response.text)
detail_urls = parse_index(response.text)

for detail_url in detail_urls:
#print(detail_url)
#response = get_page(detail_url)
detail_res = get_page(detail_url)
#print(response.text)

movie_url = parse_detail(detail_res.text)

if movie_url:
print(movie_url)

movie_res = get_page(movie_url)

save_video(movie_res.content)

 

猜你喜欢

转载自www.cnblogs.com/x2436876927/p/11115120.html