
python爬取有妖气漫画
动态加载内容:部分网站会通过JavaScript加载图片,这些图片可能存在于 异常处理:脚本可能会遇到网络限制、JavaScript无法解析等问题,可在代码中添加异常捕获机制。 图片质量问题:部分图片会被压缩或转化为Base64编码,需对源图片进行解码。 会员墙问题:如果网站是会员墙或需要登录的,需上手处理Cookie或Session variables。
发布日期:2021-05-10 23:12:05
浏览次数:18
分类:精选文章
本文共 2028 字,大约阅读时间需要 6 分钟。
为了帮助您爬取动态加载的图片内容,我们需要使用Selenium和PhantomJS等工具。以下是详细的步骤和方法:
准备工具
首先,安装所需的库:
pip install selenium
下载PhantomJS(推荐使用Chrome或Firefox的Headless版本,PhantomJS已被弃用):
- Chrome:` Moff具体下载地址:https://phantomjs.org/download.html 或者访问 Firefox 的Headless版本:https://github.com/detro/phantomjs/wiki
设置环境变量
在命令提示符中,设置PhantomJS的路径:
export PATH=$PATH:/path/to/phantomjs-2.1.1-windows/bin/
编写爬取脚本
以下是一个示例脚本:
from selenium import webdriver# 使用Headless Chrome(建议)driver = webdriver.Chrome(executable_path='D:/chromedriver-100.exe')# 指定User-Agent(可 Wrath Optionally)options = { "headless": True, "accept_languages": ["zh-CN"], "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4682.16 Safari/537.36"}driver.get(url)# 解析页面内容soup = BeautifulSoup(driver.page_source, 'html.parser')# 提取图片数据result = soup.find_all('img', class_='image_cache loading')pic_list = []for img in result: if 'data-src' in img.attrs: src = img['src'] if 'data-src' not in pic_list: pic_list.append(src)# 下载图片count = 1for src in pic_list: # 设置请求头(如需要) headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4682.16 Safari/537.36' } response = requests.get(src, headers=headers) file_name = f'Z-H-J-{count}.jpg' file = open(file_name, 'wb') file.write(response.content) count += 1
处理注意事项
data-src
或其他动态属性中。替代方案
如果PhantomJS出现兼容性问题,可以选择以下方案:
使用Selenium的Headless Chrome/Chrome:
from selenium import webdriver# Chrome的BS Headless版本driver = webdriver.Chrome(options={ 'headless' : True, 'chromium': { 'download.default_downloads' : None }})
使用Selenium的Headless Firefox:
from selenium import webdriverdriver = webdriver.Firefox(options={ 'headless' : True})
通过以上方法,您可以成功地爬取动态加载的图片内容。记住,总是需要根据实际需求调整脚本参数和处理方式。
发表评论
最新留言
不错!
[***.144.177.141]2025年04月25日 19时16分10秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
wxWidgets源码分析(5) - 窗口管理
2019-03-06
wxWidgets源码分析(8) - MVC架构
2019-03-06
wxWidgets源码分析(9) - wxString
2019-03-06
[梁山好汉说IT] 梁山好汉和抢劫银行
2019-03-06
[源码解析] 消息队列 Kombu 之 基本架构
2019-03-06
[源码分析] 消息队列 Kombu 之 启动过程
2019-03-06
wx.NET CLI wrapper for wxWidgets
2019-03-06
ASP.NET MVC Action Filters
2019-03-06
Powershell中禁止执行脚本解决办法
2019-03-06
OO_Unit2 多线程电梯总结
2019-03-06
04_Mysql配置文件(重要参数)
2019-03-06
JavaSE总结
2019-03-06
Python IO编程
2019-03-06
CSS入门总结
2019-03-06
使用 TortoiseGit 时,报 Access denied 错误
2019-03-06
基于 HTML5 WebGL 的污水处理厂泵站自控系统
2019-03-06
django-表单之模型表单渲染(六)
2019-03-06