一行代码实现 Python+selenium 批量截取网页,重要代码仅一行
Posted 梦想橡皮擦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一行代码实现 Python+selenium 批量截取网页,重要代码仅一行相关的知识,希望对你有一定的参考价值。
📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 621 篇原创博客
畅销专栏,打折促销中~
文章目录
⛳️ 实战场景
本案例将通过 Python + selenium 实现对网页的批量截图,案例即属于Python爬虫应用,也属于Python运维实战,大家可以重点学习思路。
场景描述:
编写一个自动化脚本,对公司旗下的所有商户站点进行监控,当页面发生变化时,可以及时通知。
⛳️ Selenium 配置
关于软件的安装,你可以翻阅橡皮擦之前的博客,有很多详细的配置教程,本文建立在你的 selenium 已经正常安装并可运行的基础上。
安装Selenium 时,需要注意本地浏览器的版本,便于下载相关驱动,参考博客 Python 自动化领域起点篇,Selenium WebDriver 学习第1篇
实现网页截图的代码如下所示,该代码仅实现单一页面截图。
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
driver = webdriver.Chrome(executable_path='F:/chromedriver_win32/chromedriver.exe', chrome_options=chrome_options)
for i in range(10):
# 打开网页:
driver.get("https://www.pachong.vip/")
time.sleep(1)
# 网页截图
driver.get_screenshot_as_file("D:/screenshot/www.pachong.vip.png")
# 关闭浏览器
driver.quit()
接下来将其改造成从数据库读取商户域名地址即可。
import pymysql
import logging
logging.basicConfig(filename='D:/商户无法访问站点.log', level=logging.DEBUG)
db = pymysql.connect(host='服务器IP',
user='root',
password='服务器密码',
database='数据库名称')
cursor = db.cursor()
e_sql = """SELECT url1,url2…… FROM 目标数据表 """
cursor.execute(e_sql)
results = cursor.fetchall()
urls = [y for x in results for y in x if y != '']
其中链接数据库之后,直接使用 fetchall
读取目标地址即可,在下文使用了如下生成器代码,主要用于提取URL,防止采集到空地址。
urls = [y for x in results for y in x if y != '']
上述代码还导入了 logging
模块,主要用于记录采集异常的数据,后续用于对数据进行分析。
📣📣📣📣📣📣
右下角有个大拇指,点赞的漂亮加倍
欢迎大家订阅专栏:
⭐️ ⭐️ 《Python 爬虫 120》⭐️ ⭐️
以上是关于一行代码实现 Python+selenium 批量截取网页,重要代码仅一行的主要内容,如果未能解决你的问题,请参考以下文章
selenium+python自动化78-autoit参数化与批量上传
selenium+python自动化78-autoit参数化与批量上传转载