Python requests 网络数据采集视频下载
环境配置
Pycharm开发环境
python 版本 python3.7
Anconda 集成开发环境
爬虫的一般思路 主要流程步骤
#### 1、分析目标网页,确定爬取的url路径,headers参数
#### 2、发送请求--requests 模拟浏览器发送请求,获取响应数据
#### 3、解析数据 json模块:把json字符串转化成python可交互的数据类型
#### 4、保存数据--保存在目标文件夹中
环境配置
Pycharm开发环境
python 版本 python3.7
Anconda 集成开发环境
爬取网站地址https://www.fabiaoqing.com/
导入第三方模块
pip install requests
pip install json
代码分析
# 模块导入
import requests
import parsel
import os
images_dir = 'image' # 文件保存
# for循环 下载多页的图片
for page in range(1,11):
# response = requests. get(base_url,headers)
# 请求网站 获得数据
# f'https://www.fabiaoqing.com/biaoqing/lists/page/{page}.html' f 填空
response = requests.get(f'https://www.fabiaoqing.com/biaoqing/lists/page/{page}.html')
print(response.text)
# 数据解析方式 css xpath re
sel = parsel.Selector(response.text)
# css技术
# print(sel.css('.ui.segment img').getall())
# print(sel.xpath('//*[@id="bqb"]/div[1]/div[32]/a/img').getall())
imgs = sel.css('.ui.segment img')
for img in imgs:
image_url = img.xpath('./@data-original').get()
image_name = img.xpath('./@title').get()
print(image_url,image_name)
# 下载图片
response = requests.get(image_url)
# 图片视频音频文件都是二进制的,用wb进行保存,写入response.content
suffix = image_url.split('.')[-1]
try:
# open第一个参数path文件夹名/文件名
# 为什么要加一个判断,判断文件夹是否存在
# 文件夹文件目录数据库已经存在的东西 创建一个文件夹
if not os.path.exists(images_dir):
os.mkdir(images_dir)
with open(images_dir+'/'+image_name + '.'+suffix, mode='wb') as f:
f.write(response.content)
except:
pass