使用python 对 xlsx操作 以及使用selenium对网站后台截图
本帖最后由 YXK 于 2019-8-1 19:08 编辑写码不易........给波分吧!
需要用到的python库
pip install xlrd
pip install selenium
安装webdriver
各大浏览器webdriver地址可参见:https://docs.seleniumhq.org/download/
Firefox:https://github.com/mozilla/geckodriver/releases/
Chrome:https://sites.google.com/a/chromium.org/chromedriver/ 或者
http://chromedriver.storage.googleapis.com/index.html
IE:http://selenium-release.storage.googleapis.com/index.html
注:webdriver需要和对应的浏览器版本以及selenium版本对应下面是源码
功能是读取一个表格里面的值 并以数组的方式返回
import xlrd
def getUrl(dizhi):
data = xlrd.open_workbook(dizhi) #文件全路径
table=data.sheet_by_index(0)
nrows = table.nrows
all_url=[]
for i in range(0,nrows):
call_url = table.cell(i, 3).value #取字段3的值
all_url.append(call_url) #加入数组
return all_url
https://static.52pojie.cn/static/image/hrline/line1.png
通过以上代码获取到每个微博URL 然后用selenium进行后台截图
from xlrdtest import getUrl #引用自写的方法
from selenium import webdriver
from time import sleep
wenjianDizhi = "C:\\Users\\Administrator\\Desktop\\网安工作\\1.xlsx"
allUrl = getUrl(wenjianDizhi)
options = webdriver.ChromeOptions()
options.add_argument('--kiosk')
options.add_argument('--headless')
driver = webdriver.Chrome(chrome_options=options)
driver.set_window_size(1400,900) #设置浏览器宽高
i = 1
for i in range(1,len(allUrl)):
driver.get(str(allUrl))
sleep(5)
picture_url = driver.get_screenshot_as_file('imgs\\%s.png'%i)
if picture_url == True:
print("%s:截图成功!" %allUrl)
print("截图全部完成....")
driver.quit() https://www.cnblogs.com/beginner-boy/p/7239696.html -python对excel的操作
https://www.cnblogs.com/themost/p/6900852.html -selenium具体详解
https://www.cnblogs.com/liu-ke/p/7767484.html?t=1509631163030 -selenium对具体元素进行截图
https://blog.csdn.net/lykio_881210/article/details/80915882 -selenium对弹窗的处理
对于excel我觉得应该发全或者找个地址,这些三方模块说实在话用的少很少刻意记,用的多就熟悉了,我属于前者所以收藏了些链接
也谢谢楼主分享,很受用 wxz0716 发表于 2019-8-1 22:42
你好,我用pandas处理完excel保存后发现边框没了,怎么能在保存的时候自动在有内容的单元格上加上边框呢?
def setStyle(name, height,color, bold=False):
style = xlwt.XFStyle()# 初始化样式
font = xlwt.Font()# 为样式创建字体
# 字体类型:比如宋体、仿宋也可以是汉仪瘦金书繁
font.name = name
# 设置字体颜色
font.colour_index = color
# 字体大小
font.height = height
# 定义格式
style.font = font
# borders.left = xlwt.Borders.THIN
# NO_LINE: 官方代码中NO_LINE所表示的值为0,没有边框
# THIN: 官方代码中THIN所表示的值为1,边框为实线
borders = xlwt.Borders()
borders.left = color
borders.left = xlwt.Borders.THIN
borders.right = color
borders.top = color
borders.bottom = color
# 定义格式
style.borders = borders
return style
if __name__ == '__main__':
# 创建工作簿,并指定写入的格式
f = xlwt.Workbook(encoding='utf8')# 创建工作簿
#创建sheet,并指定可以重复写入数据的情况.设置行高度
sheet1 = f.add_sheet(u'colour', cell_overwrite_ok=False)
# 控制行的位置
column = 0
row = 0
# 生成第一行
for i in range(0, 100):
# 参数对应:行,列,值,字体样式(可以没有)
sheet1.write(column, row, i, setStyle('汉仪瘦金书繁', 400, i, True))
# 这里主要为了控制输入每行十个内容。为了查看
row = row + 1
if row % 10 == 0:
column = column + 1
row = 0
f.save(r'E:\xlwtExCEL.xls')# 保存文档 有点意思,谢谢楼主分享技术 jidesheng6 发表于 2019-8-1 21:20
https://www.cnblogs.com/beginner-boy/p/7239696.html -python对excel的操作
https://www.cnblogs.com/th ...
谢谢您提供的链接..非常受用. 目前才学到装饰器,感觉有点绕头,看到你的又有动力,每一位前辈都是我前进动力,加油 你好,我用pandas处理完excel保存后发现边框没了,怎么能在保存的时候自动在有内容的单元格上加上边框呢? 这是干嘛的? 太好了,给我提供下参考。 selenium还是很不错的,最近在用,问题是我的加了 headless几乎就不动了……可能是我用32位python的问题吧……,这个不错
页:
[1]
2