吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3796|回复: 17
收起左侧

[Python 转载] 使用python 对 xlsx操作 以及使用selenium对网站后台截图

[复制链接]
YXK 发表于 2019-8-1 19:04
本帖最后由 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版本对应下面是源码
功能是读取一个表格里面的值 并以数组的方式返回
[Python] 纯文本查看 复制代码
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


通过以上代码获取到每个微博URL 然后用selenium进行后台截图

[Python] 纯文本查看 复制代码
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[i]))
    sleep(5)
    picture_url = driver.get_screenshot_as_file('imgs\\%s.png'%i)
    if picture_url == True:
        print("%s:截图成功!" %allUrl[i])
print("截图全部完成....")
driver.quit()

免费评分

参与人数 6吾爱币 +3 热心值 +5 收起 理由
金山橙 + 1 + 1 我很赞同!
a123851 + 1 谢谢@Thanks!
lcg2014 + 1 + 1 用心讨论,共获提升!
12416436 + 1 用心讨论,共获提升!
jidesheng6 + 1 我很赞同!
liming96 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

jidesheng6 发表于 2019-8-1 21:20
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我觉得应该发全或者找个地址,这些三方模块说实在话用的少很少刻意记,用的多就熟悉了,我属于前者所以收藏了些链接
也谢谢楼主分享,很受用
 楼主| YXK 发表于 2019-8-6 09:52
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')  # 保存文档
zenith99 发表于 2019-8-1 20:15
头像被屏蔽
onlyjim 发表于 2019-8-1 20:31
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| YXK 发表于 2019-8-1 21:28
jidesheng6 发表于 2019-8-1 21:20
https://www.cnblogs.com/beginner-boy/p/7239696.html -python对excel的操作
https://www.cnblogs.com/th ...

谢谢您提供的链接..非常受用.
12416436 发表于 2019-8-1 22:18
目前才学到装饰器,感觉有点绕头,看到你的又有动力,每一位前辈都是我前进动力,加油
wxz0716 发表于 2019-8-1 22:42
你好,我用pandas处理完excel保存后发现边框没了,怎么能在保存的时候自动在有内容的单元格上加上边框呢?
z1981z1981 发表于 2019-8-2 08:45
这是干嘛的?
hjm350427 发表于 2019-8-2 09:12
太好了,给我提供下参考。
pymoji 发表于 2019-8-2 09:24
selenium还是很不错的,最近在用,问题是我的加了 headless几乎就不动了……可能是我用32位python的问题吧……,这个不错
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-28 01:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表