@ [TOC]
简单构建网站链接
#构建页面
nums = [i for i in range(156,500)]
#构建url
url ='http : //www.mmxyz.net/rosi-{}/'.format(str( num ))
下载一个谷歌浏览器Xpath插件,在你查找标签时候很好用!
#标题
title = html.xpath('// div [@ id =“post-header”] / h1 / text()')[0]
print(title)
#图片链接
hrefs = html.xpath(' // dl [@ class =“gallery-item”] / dt / a / @ href')
print(hrefs)
使用OS创建新的图片保存路径,你也不想所有图片在一个文件夹下面吧,肯定是一个标题一个文件夹
#创建每一期图片独有的文件夹
rosi_dir = 'E:\\ROSI'+'\\'+title
if not os.path.exists(rosi_dir):
os.makedirs(rosi_dir)
通过图片链接构建图片名
for href in hrefs:
name = href.split('/')[-1]
pic_name = rosi_dir+'\\'+name
使用显示等待,等待图片加载完成,使用pyautogui实现鼠标右键(点击图片)——V(保存图片)——Ctrl+V粘贴(文件路径+’\’+文件名)——enter(确认)
driver.get(href)
# 设置显式等待,时间为10秒,等待图片加载完成,就结束
wait = WebDriverWait(driver, 10)
img = wait.until(EC.visibility_of_element_located((By.TAG_NAME, 'img')))
#鼠标移动到(500,500)位置并右键点击,这个是纯图片链接,位置可以随意一点设置,具体根据你的情况设置
pyautogui.rightClick(x=500, y=500)
#输入V
pyautogui.typewrite(['V'])
# 强制等待窗口打开,以免命令冲突,粘贴失败,电脑比较卡,试过很多次才有4,具体时间自己试,最好多设置1S左右
sleep(4)
#复制文件名加路径到粘贴板
pyperclip.copy(pic_name)
# 粘贴
pyautogui.hotkey('ctrlleft', 'V')
#等待电脑反应
sleep(0.1)
pyautogui.press('enter')
#等待电脑反应
sleep(0.2)
上代码
"""
url = http://www.mmxyz.net/rosi-2221/
"""
import os
from lxml import etree
import pyperclip,pyautogui
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 爬取页面
def get_html(url):
driver.get(url)
print(type(driver.page_source))
html = driver.page_source
html = etree.HTML(html)
return html
#解析页面、标题、图片链接
def parse_html(html):
#标题
title = html.xpath('//div[@id="post-header"]/h1/text()')[0]
print(title)
#图片链接
hrefs = html.xpath('//dl[@class="gallery-item"]/dt/a/@href')
print(hrefs)
#创建每一期图片独有的文件夹
rosi_dir = 'E:\\ROSI'+'\\'+title
if not os.path.exists(rosi_dir):
os.makedirs(rosi_dir)
#访问图片链接,保存图片
for href in hrefs:
name = href.split('/')[-1]
pic_name = rosi_dir+'\\'+name
driver.get(href)
# 设置显式等待,时间为10秒,等待图片加载完成,就结束
wait = WebDriverWait(driver, 10)
img = wait.until(EC.visibility_of_element_located((By.TAG_NAME, 'img')))
#鼠标移动到(500,500)位置并右键点击,这个是纯图片链接,期同期的你需要筛选图片位置,再移动
pyautogui.rightClick(x=500, y=500)
#输入V
pyautogui.typewrite(['V'])
# 强制等待窗口打开,以免命令冲突,粘贴失败,试过很多次才有4,具体时间自己试,最好设置大一些
sleep(4)
#复制文件路径到粘贴板
pyperclip.copy(pic_name)
# 粘贴
pyautogui.hotkey('ctrlleft', 'V')
sleep(0.1)
pyautogui.press('enter')
sleep(0.2)
if __name__ == '__main__':
driver = webdriver.Chrome()
#只要你想,所有都能下载
#创建图片期数列表
nums = [i for i in range(156,500)]
for num in nums:
#构建url
url = 'http://www.mmxyz.net/rosi-{}/'.format(str(num))
html = get_html(url)
parse_html(html)
```
今天的文章Python爬虫之selenium爬取ROSI图片分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/12596.html