美文网首页AI--之路数据蛙数据分析每周作业
python网页截图(不受滚动条限制)

python网页截图(不受滚动条限制)

作者: AI小太阳 | 来源:发表于2019-01-19 22:48 被阅读1次

最近工作需要获取网页的截图,本来是使用selenium + phantomjs进行截图,但是却发现一些没有被封的网页保存的截图却是404页面找不到的画面,猜测有可能是访问网页的响应时间超过默认值,由于对上述两个工具不太熟悉,没有找到解决方法。如果某位大神路过,还请指教。多谢!!!
故查阅资料转战调用Google访问然后截图,网页找不到的问题解决了又出现了滚动条的限制无法截取更多内容的问题。经过多方查找资料和实验,最终总结出了,如何调节滚动窗口大小来截取图片。代码如下(如果有更好的方法,希望能够与我沟通,再次感谢):

#调用谷歌浏览器截图
#now = time.strftime("%Y-%m-%d-%H_%M_%S",time.localtime(time.time()))
image_path = data_path +'/image'
if not os.path.exists(image_path ):
    os.makedirs(image_path )
#os.makedirs(datapath +'/image') 
chrome_options = webdriver.ChromeOptions()
#ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36'
#chrome_options.add_argument('user-agent="%s"' % ua)
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('window-size=2560x1440')
#chrome_options.add_argument("--start-maximized")
driver = webdriver.Chrome(executable_path=r"D:\chromedriver.exe", chrome_options=chrome_options)
for i in range (0,len(user_table)):
    j = 0
    url2 = user_table.ix[i,1]
    user_account = user_table.ix[i,0]
    print (user_account)    
    chrome_flag = False
    while not chrome_flag:
        try:
            driver.get(url2)
            js="var q=document.documentElement.scrollTop=(350)"
            driver.execute_script(js)
            picName = image_path +'/'+ user_account + ".png" 
            driver.save_screenshot(picName)
                #driver.close()
        except:
            j +=1
            if j <= 5:
                print ('[%s] HTTP请求失败!!!正在准备重发。。。')
                time.sleep(2)
                continue
            else:
                break
        chrome_flag = True
driver.quit()

相关文章

  • python网页截图(不受滚动条限制)

    最近工作需要获取网页的截图,本来是使用selenium + phantomjs进行截图,但是却发现一些没有被封的网...

  • 使用Chrome浏览器实现网页长截图 无需安装插件

    有些网页比较长,一屏装不下,需要拉动滚动条才行,这种网页我们想截图截取全部内容时就比较困难 如果使用的是Chrom...

  • Python代理IP爬虫的简单使用

    前言 Python爬虫要经历爬虫、爬虫被限制、爬虫反限制的过程。当然后续还要网页爬虫限制优化,爬虫再反限制的一系列...

  • 跑步最基本大三个阶段。

    不受时间的限制,也不受地点的限制, 不受气候的限制,更不受年龄的限制, 所以,我在跑,你在跑,大家都在跑, 跑步真...

  • 网页全截图实现

    前言 使用Python的urllib以及urllib2只能获取到静态的网页,对于一整张网页进行截图就不是很容易了。...

  • 一些问题

    1. 网页出现横向滚动条? 让横条没有: 两个都去掉?更简单了 火狐底部滚动条不显示: 2. 网页图标? 3. H...

  • chrome工具

    FireShot 网页截图

  • Python网页截图/屏幕截图/截长图如何实现?

    对于Python网页截图这个问题,笔者网络一番搜索之后,总结了大概有如下几种实现方案, 利用PyQT5 利用sel...

  • 互联网电子商务发展趋势

    发展趋势 更广阔的环境:人们不受时间的限制,不受空间的限制,不受传统购物的诸多限制,可以随时随地在网上交易。 更广...

  • chrome 网页截图

    1、打开开发者工具 2、使用快捷键组合来打开命令行(command palette):`Command` + `S...

网友评论

    本文标题:python网页截图(不受滚动条限制)

    本文链接:https://www.haomeiwen.com/subject/qaltjqtx.html