欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python多线程实现访问页面_python 多线程实现网页自动截图

发布时间:2025/3/21 python 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python多线程实现访问页面_python 多线程实现网页自动截图 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

准备工作

安装selenium 2.48.0,一定不要安装最新版本的,最新版本不支持phantomjs。

用phantomjs是因为它是单文件版。下载地址:https://phantomjs.org/download.html

ip.txt的格式是 http://test.com(可根据需求自行更改)

完整代码

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time : 2020/8/3 16:10

# @Author : oliver

# @File : test.py

# @Software: PyCharm

import threading

import queue

import time

from selenium import webdriver

class get_screen(threading.Thread):

def __init__(self,q):

super(get_screen,self).__init__()

self.q = q

def run(self):

while not self.q.empty():

url = self.q.get()

try:

self.getScreen(url)

except:

pass

def getScreen(self,url):

brower = webdriver.PhantomJS(executable_path=r"E:\phantomjs-2.1.1-windows\bin\phantomjs.exe")

brower.get(url=url)

brower.maximize_window()

name = url.split("//")[1]

picName = name + ".jpg"

brower.save_screenshot(picName)

brower.close()

def main():

q = queue.Queue()

thread_count =3

threads =[]

with open("ip.txt") as f:

for line in f:

line = line.strip("\n")

q.put(line)

for i in range(thread_count):

# print i

threads.append(get_screen(q))

for thread in threads:

thread.start()

for thread in threads:

thread.join()

if __name__ == '__main__':

start_time = time.time()

main()

print("截图完成,用时:%f" % (time.time() - start_time))

总结

以上是生活随笔为你收集整理的python多线程实现访问页面_python 多线程实现网页自动截图的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。