欢迎关注 『Python黑科技』 系列,持续更新中
欢迎关注 『Python黑科技』 系列,持续更新中
- 仅供学习使用,本项目仅仅爬取下载一个网页下的图片内容,效果类似你打开一个知乎网页,把网页加载得到的图片保存下来,没有违法风险,仅仅作为一个爬虫学习的思路。
实现效果
得到图片
实现思路
通过selenium模拟打开网页,获取加载得到的图片url并把图片保存。
需要安装的库
import re
from selenium import webdriver
import time
import urllib.request
其中的selenium库需要配置谷歌浏览器驱动参考文章
配置selenium库的浏览器驱动,解决selenium.common.exceptions.SessionNotCreatedException 报错(保姆级图文)
测试能否使用selenium
# @Time : 2022/1/15 16:32
# @Author : 南黎
# @FileName: 测试能否使用selenium.py
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://blog.csdn.net/u011027547")
保存文件
将URL表示的网络对象复制到本地文件。
urllib.request.urlretrieve(content_list[n], local)
urllib.request.urlretrieve(url, filename)
- url:外部或者本地url
- filename:指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据);
while n < len(content_list):
i = time.time()
local = (r"爬取到的图片/%s.jpg" % (i))#其实这里有个bug,把所有图片都保存为了jpg,gif动图也被保存为了jpg,但是不影响效果,还是gif
urllib.request.urlretrieve(content_list[n], local)#把获取到的图片url和文件保存地址放入
print("图片id:" + str(i))
n = n + 1
实现代码
# @Time : 2022/1/15 16:06
# @Author : 南黎
# @FileName: 爬取知乎图片.py
import re
from selenium import webdriver
import time
import urllib.request
web_driver = webdriver.Chrome()#新建一个Chrome对象
# web_driver.maximize_window()#新打开的谷歌浏览器窗口最大化,注释掉的话只有半个窗口大小
url="https://zhuanlan.zhihu.com/p/457837506"
# url=input("请输入要爬取图片的知乎提问,文章网址:/n")#不注释这行代码可以自定义要爬取的网站
web_driver.get(url)#打开网址
i = 0
while i < 10:
web_driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(2)
try:
web_driver.find_element_by_css_selector('button.QuestionMainAction').click()
print("page" + str(i))
time.sleep(1)
except:
break
result_raw = web_driver.page_source
content_list = re.findall("img src=\"(.+?)\" ", str(result_raw))#获取图片的url
n = 0
while n < len(content_list):
i = time.time()
local = (r"爬取到的图片/%s.jpg" % (i))#其实这里有个bug,把所有图片都保存为了jpg,gif动图也被保存为了jpg,但是不影响效果,还是gif
urllib.request.urlretrieve(content_list[n], local)#把获取到的图片url和文件保存地址放入
print("图片id:" + str(i))
n = n + 1
总结
大家喜欢的话,给个👍,点个关注!给大家分享更多有趣好玩的Python黑科技!
版权声明:
发现你走远了@mzh原创作品,转载必须标注原文链接
Copyright 2022 mzh
Crated:2022-1-15
欢迎关注 『Python黑科技』 系列,持续更新中
欢迎关注 『Python黑科技』 系列,持续更新中
【Python安装第三方库一行命令永久提高速度】
【使用PyInstaller打包exe】
【更多内容敬请期待】