目标
爬取找万物小视频,批量下载到本地。
项目准备
软件:Pycharm
第三方库:requests,fake_useragent
网站地址:https://3b.link/h5/brochures
网站分析
打开网站。
分析网页是什么加载类型。
F12打开开发者模式。
滑动鼠标,会自动加载数据包。
判断为动态加载类型。
页码分析
第一页:https://api.3b.link/Api/Brochure/HomeList?page=1&pageSize=15
第二页:https://api.3b.link/Api/Brochure/HomeList?page=2&pageSize=15
第三页:https://api.3b.link/Api/Brochure/HomeList?page=3&pageSize=15
第四页:https://api.3b.link/Api/Brochure/HomeList?page=4&pageSize=15
第五页:https://api.3b.link/Api/Brochure/HomeList?page=5&pageSize=15
根据每页的链接可以找到规律。只要page=之后数字的变化。
反爬分析
同一个ip地址去多次访问会面临被封掉的风险,这里采用fake_useragent,产生随机的User-Agent请求头进行访问。
代码实现
1.导入相对应的第三方库,定义一个class类继承object,定义init方法继承self,主函数main继承self。
import requests
from lxml import etree
from fake_useragent import UserAgent
class creation(object):
def __init__(self):
self.url = 'https://api.3b.link/Api/Brochure/HomeList?page={}&pageSize=15'
ua = UserAgent(verify_ssl=False)
for i in range(1, 100):
self.headers = {
'User-Agent': ua.<