聚焦爬虫爬取网页的流程,requests+re模块爬取豆瓣排行版电影和图片保存至本地

 2023-09-22 阅读 49 评论 0

摘要:设计思路:requests发送请求返回HTML→正则匹配电影名称+图片地址→电影名称+图片地址下载保存至本地 from loguru import logger import requests import redef douban_top250():# return html 页面def html_page():url = 'https://movie.douban.com/t

设计思路:requests发送请求返回HTML→正则匹配电影名称+图片地址→电影名称+图片地址下载保存至本地

from loguru import logger
import requests
import redef douban_top250():# return html 页面def html_page():url = 'https://movie.douban.com/top250?start=0&filter='headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}res = requests.get(url, headers=headers)res.encoding = "utf-8"html = res.textreturn htmli = 1number = 0paeg = int(re.findall(r'&amp;filter=" >(.*)</a>', html_page())[-2]) + 1  # 获取页面的返回值while i < paeg:url = f'https://movie.douban.com/top250?start={number}&filter='headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}res = requests.get(url, headers=headers)res.encoding = "utf-8"html = res.textnumber += 25i += 1v = 0while v < 25:jpg_name = re.findall(' alt="(.*)" src="', html)[v]  # douban图片名称jpg_url = re.findall('" src="(.*)" class="">', html)[v]  # douban图片地址file_path = fr'D:\jpg\{jpg_name}.png'  # 本地图片地址v += 1try:myfile = requests.get(jpg_url)file_path = fr'D:\jpg\{jpg_name}.png'open(file_path, 'wb').write(myfile.content)except:logger.error(f'图片保存失败,请检查路径{file_path}')logger.info(f"{jpg_name}  {jpg_url}")douban_top250()

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/91894.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息