selenium攻占煎蛋妹子图

2024-03-10 08:18
文章标签 selenium 妹子 煎蛋 攻占

本文主要是介绍selenium攻占煎蛋妹子图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

python 版本 3.5
依赖库:

selenium
beautifulsoap4
lxml
requests

使用selenium的原因是
requests库 在实际操作的时候,发现请求返回的内容里面并没有图片的链接:

<p> <img src="//img.jandan.net/img/blank.gif" onload="jandan_load_img(this)"/> <span class="img-hash">6fadiP6jpEOinbyOjDMf5F1MT01mhMHpB0oC562st3bqZwhPR+OhO+YvbyrNqKyKMmBNGSDh7Gk0I+B+zcKmrgCm3n1M0bXlNjhOjdDps9/hCO039Uo2+w</span> </p>

而在chrome中使用F12去可以看到图片链接,看来这个页面需要调用js方法才会返回图片的url

那我们 只好使用 Selenium+Phantomjs 来实现需求

第一步

导入依赖库:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import requests
from bs4 import BeautifulSoup
第二步

使用Selenium+Phantomjs爬取完整的页面源码,用bs解析网页,定位元素

path='D:/jd_image/'
urls = ["http://jandan.net/ooxx/page-{}#comments".format(str(i)) for i in range(1, 50)]
img_url=[]
driver = webdriver.PhantomJS(executable_path=r'D:\phantomjs-2.1.1-windows\bin\phantomjs.exe')
for url in urls:driver.get(url)data = driver.page_sourcesoup = BeautifulSoup(data, "lxml")  #解析网页images = soup.select("a.view_img_link")  #定位元素for i in images:               z=i.get('href')if str('gif') in str(z):passelse:http_url = "http:" + zimg_url.append(http_url)#print("http:%s" % z)
第三步

下载图片

for j in img_url:r=requests.get(j)print('正在下载 %s......' % j)with open(path+j[-15:],'wb')as jpg:jpg.write(r.content)
完整代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import requests
from bs4 import BeautifulSouppath='D:/jd_image/'
urls = ["http://jandan.net/ooxx/page-{}#comments".format(str(i)) for i in range(1, 50)]
img_url=[]
driver = webdriver.PhantomJS(executable_path=r'D:\phantomjs-2.1.1-windows\bin\phantomjs.exe')for url in urls:driver.get(url)data = driver.page_sourcesoup = BeautifulSoup(data, "lxml")images = soup.select("a.view_img_link")for i in images:               z=i.get('href')if str('gif') in str(z):passelse:http_url = "http:" + zimg_url.append(http_url)#print("http:%s" % z)for j in img_url:r=requests.get(j)print('正在下载 %s......' % j)with open(path+j[-15:],'wb')as jpg:jpg.write(r.content)

这篇关于selenium攻占煎蛋妹子图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/793612

相关文章

如何使用Selenium捕获控制台日志

Selenium是一个流行的开源工具,用于自动化Web浏览器。其中一个关键功能是能够与浏览器的开发者控制台交互。本文将向您展示如何在Selenium中使用Java获取控制台日志。这些日志对于调试和解决Selenium脚本的问题非常有用。 如何查看任何网页的控制台日志 首先,打开浏览器的开发者控制台。在大多数浏览器中,您可以通过右键点击页面并选择“检查”来做到这一点。我们将在我们的测试网站——h

selenium的webdriver三种等待方式(显式等待WebDriverWait+implicitly_wait隐式等待+sleep强制等待)

隐式等待是等页面加载,不是等元素!!! 1、显式等待  一个显式等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码。显式等待是等元素加载!!! from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import

selenium webdriver实现的原理及流程

用Selenium实现自动化,主要需要三个东西: 1.自动化测试代码:自动化测试代码发送请求给浏览器的驱动(比如火狐驱动、谷歌驱动) 2.浏览器驱动:它来解析这些自动化测试的代码,解析后把它们发送给浏览器 3.浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作。 测试代码中包含了各种期望的对浏览器界面的操作,例如点击。测试代码通过给Webdriver发送指令,让Webdriv

Selenium 实现图片验证码识别

前言 在测试过程中,有的时候登录需要输入图片验证码。这时候使用Selenium进行自动化测试,怎么做图片验证码识别?本篇内容主要介绍使用Selenium、BufferedImage、Tesseract进行图片 验证码识别。 环境准备 jdk:1.8 tessdata:文章末尾附下载地址 安装Tesseract 我本地是ubuntu系统 sudo apt install tesserac

【爬虫渲染神器】selenium 和pyppeteer 的动态渲染ajax反爬虫

许多网页是动态加载的网页,其中不乏使用了ajax异步技术,那么我们有没有一种渲染工具,直接省略分析过程,模拟浏览器渲染的操作呢,获取到我们想要的内容。当然有,下面我们介绍两种渲染工具的实战使用。 目标网站: http://www.porters.vip/verify/sign/ 点击参看详情页的里面内容。 前一篇文章,我们介绍了,js逆向分析两种方法JS逆向–签名验证反爬虫】sign签名验证

【爬虫神器 pyppeteer】比 selenium 更高效的爬虫利器--pyppeteer

Puppeteer 是 Google 基于 Node.js 开发的工具,调用 Chrome 的 API,通过 JavaScript 代码来操纵 Chrome 完成一些操作,用于网络爬虫、Web 程序自动测试等。pyppeteer 使用了 Python 异步协程库 asyncio,可整合 Scrapy 进行分布式爬虫。要注意的是它执行python3.6+以后版本使用,下面我们一起来了解下如何使用。

CentOS7 安装Selenium+chrome+chromedriver

在无界面的CentOS7上安装Selenium+Chrome,并使用facebook的php-webdriver测试 系统环境 Operating System: CentOS Linux 7 (Core) Kernel: Linux 3.10.0-693.17.1.el7.x86_64 Architecture: x86-64 安装 chrome 使用下面的命令,在root用户下就可以安装最新

Selenium 调用 JavaScript 操作带有 readonly 属性 的日期控件

'''<input class="index_start" readonly="" placeholder="开始日期" size="12" autocomplete="off" type="text" value=""><input class="index_end" readonly="" placeholder="结束日期" size="12" autocomplete="off" ty

Selenium 自动测试 Vue3 页面示例

Selenium 可以用来自动测试 Vue3 页面。下面是一个简单的例子,展示如何使用 Selenium 自动测试 Vue3 页面中的按钮点击操作。 前提条件: 安装 Chrome 浏览器及其 WebDriver(确保 ChromeDriver 和浏览器版本匹配)。使用 Python 作为测试脚本语言。安装 Selenium 库: pip install selenium Vue3 页面

Selenium ( Python Java ) 简单实例一

实现功能 打开浏览器——访问百度首页——搜索关键词“selenium”——打开搜索结果页的前五个链接并输出各自的Title和URL Python from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.action_chains