首页IT科技p站爬虫(记一次selenium爬取p站图片的经历)

p站爬虫(记一次selenium爬取p站图片的经历)

时间2025-08-04 16:14:47分类IT科技浏览4448
导读:突发奇想,爬取p站图片做个壁纸图库(bukemiaoshu ,当然这里有许多的门槛,但是为了实现理想,暂时没想那么多了,直接开干(不是专业做测试和自动化的,如有大佬请评论指教!!! ...

突发奇想,爬取p站图片做个壁纸图库(bukemiaoshu),当然这里有许多的门槛,但是为了实现理想,暂时没想那么多了,直接开干

(不是专业做测试和自动化的,如有大佬请评论指教!!!)

1.进入登录页

由于p站是需要登录的,听说p站反爬,requests应该不是那么好使,于是使用selenium模拟人工登录

观察p站起始页,首先是有个登录的a标签在这里的,可以使用类选择器来确定这个元素,再click一下即可

2.输入账户密码

观察页面

同样可以使用类选择器确定两个元素

确定后使用send_keys(key)方法可以将key填入input标签,填入后再单击一下登录即可 # 模拟登录 purl = "https://www.pixiv.net/" browser = webdriver.Chrome() browser.get(purl) login1 = browser.find_element_by_class_name("signup-form__submit--login") login1.click() user = xxxxxx passwd = xxxxxx user_class = browser.find_element_by_class_name("degQSE") passwd_class = browser.find_element_by_class_name("hfoSmp") login2 = browser.find_element_by_class_name("jvCTkj") user_class.send_keys(user) passwd_class.send_keys(passwd) login2.click()

3.搜索

进入主页后,观察页面搜索框,可以直接使用标签选择器搜索input标签,整个页面有3个input标签,而选择器会选择第一个标签,恰好搜索框就是第一个标签

再定义一个key用来在终端中输入爬取关键字,输入后同样可以用send_keys(key)方法填充,再模拟一下键盘,模拟键盘需要导入Keys from selenium.webdriver.common.keys import Keys

导入Keys之后,可以使用sned_keys(Keys.ENTER)模拟键盘的回车,来确认搜索

# 模拟搜索 time.sleep(10) search = browser.find_element_by_tag_name("input") # browser.find_element_by_partial_link_text("搜索作品") key = "归终" key = input(请输入爬取关键字:) search.send_keys(key) search.send_keys(Keys.ENTER)

4.模拟下载

这里就是我遇到的门槛了...

因为selenium不方便下载,就想利用requests和with open下载

结果发现p站的链接只有通过鼠标访问才可以被接受,而直接在浏览器敲图片地址的方式是403被拒绝的

(这是什么鬼反爬,这样requests也get不到图片了)

新的思路是:

在搜索框搜索完之后会有一个ul列表,里面每个li都是图片,可以使用复数类选择器find_emements_by_class_name

利用循环对选择器找到的类进行点击,点击之后进入图片介绍页,再次点击图片则会进入图片大图,模拟鼠标右键,再进行另存为即可

但是同样的十分麻烦

因为p站图片不能用快捷键保存,只能用鼠标,而鼠标模拟右键又需要其他的库

就算用了模拟鼠标的库,也要进行坐标级的调整,比如鼠标右键后要移动到什么位置单击等等

十分的麻烦

这里我就放弃了,希望哪次再心血来潮的时候(并且技术力足够)继续完善它(好家伙,被p站教做人了)

这里只提供了一个简单的打开图片大图的操作代码 photo_class = browser.find_element_by_class_name("cYUezH") photo_class.click() time.sleep(5) photo = browser.find_element_by_class_name("eAvtpu") photo.click()

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
软件开发okr模板(OK源码中国首发微擎破解模块首页主题永和自适应代理首页v9.1.3-OK源码破解) DirectUI 图片(DirectUI)