这里是直接读取txt文本内的json数据,没有太过高深的技术之类的,至于这些链接哪儿来的是通过浏览器F12找到对应的数据包找到的
这个txt里面的数据来自该链接:https://mp.weixin.qq.com/s/4qlRBicxn2cXPqJLxR4_TQ?from=industrynews&version=4.1.22.8031&platform=win&nwr_flag=1#wechat_redirect
然后里面有个数据包,都是页面上面的超链接
ff7af428d1cf268f61b591b47a34d5d.png (227.42 KB, 下载次数: 0)
下载附件
2024-5-27 14:58 上传
我这里只是单纯的将这些全都复制到了txt文本内再用python读取的,当然也可以通过python直接访问该链接,找到这个数据包获取里面json数据即网址再通过下面的代码下载图片
可以简单修改就可以用在其他地方了
至于为啥只下载图片,因为我随便瞅了几眼,全是图片的内容,然后也没几个文字,就直接下载了
领导反正也没说让我筛选,就偷懒没写筛选的相关代码了
运行模式:
1.读取txt文本内的所有链接
2.根据每个链接建立一个文件夹,将访问后的页面的所有图片下载下来存在对应的文件夹内
3.图片名称按照数字顺序命名
4.用的selenium按照固定的滑动距离快速滑动滑动至底部以确保页面加载完毕下面是txt文本内的格式数据参考
image.png (791.8 KB, 下载次数: 0)
下载附件
2024-5-27 13:08 上传
代码
[Python] 纯文本查看 复制代码import json
import os
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
import time
# 设置Chrome选项
chrome_options = Options()
# chrome_options.add_argument("--headless") # 无头模式
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--no-sandbox")
# 初始化webdriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
# 假设txt文件名为"urls.txt",并且位于当前工作目录中
txt_file_path = "{.txt"
# 读取txt文件中的内容
with open(txt_file_path, 'r', encoding='utf-8') as file:
content = file.read()
# 解析JSON内容
urls = json.loads(content)
urls1 = urls["url"]
# 创建一个主文件夹来保存所有下载的图片
os.makedirs('downloaded_images', exist_ok=True)
# 遍历URL列表,下载每个网页上的所有图片
for idx, url in enumerate(urls1):
print(f"正在处理URL {idx+1}: {url}")
driver.get(url)
# 模拟缓慢滚动行为
SCROLL_PAUSE_TIME = 0.1
scroll_increment = 500
last_height = driver.execute_script("return document.body.scrollHeight")
current_position = 0
while current_position