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 多线程实现网页自动截图相关推荐
- python多线程实现访问页面_Python实现多线程爬虫
最近在写爬虫程序爬取亚马逊上的评论信息,因此也自学了很多爬虫相关的知识,其实网络上已经有很多基于Python的入门爬虫程序了,所以学习起来比较方便,唯独那个多线程爬虫一直都学的不是很明白,所以就写下这 ...
- python可以开多少线程_python多线程详解
python多线程详解 一.线程介绍 什么是线程 线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位.线程自己不拥有系统资源,只拥有一 ...
- python多线程实现访问页面升级_python使用多线程不断刷新网页的方法
本文实例讲述了python使用多线程不断刷新网页的方法.分享给大家供大家参考.具体如下: 这段代码可以开通过个线程不断刷新指定的页面,可用于刷票,增加网页访问量等等,不用再去按F5了 import t ...
- python线程安全的计数器_Python多线程同步Lock、RLock、Semaphore、Event实例
一.多线程同步 由于CPython的python解释器在单线程模式下执行,所以导致python的多线程在很多的时候并不能很好地发挥多核cpu的资源.大部分情况都推荐使用多进程. python的多线程的 ...
- python壁纸数据抓取_python 多线程爬取壁纸网站的示例
基本开发环境 ・ Python 3.6 ・ Pycharm 需要导入的库 目标网页分析 网站是静态网站,没有加密,可以直接爬取 整体思路: 1.先在列表页面获取每张壁纸的详情页地址 2.在壁纸详情页面 ...
- python多线程执行同样代码_Python 多线程、多进程 (一)之 源码执行流程、GIL
一.python程序的运行原理 许多时候,在执行一个python文件的时候,会发现在同一目录下会出现一个__pyc__文件夹(python3)或者.pyc后缀(python2)的文件 Python在执 ...
- python多线程读取数据库数据_python多线程操作MySQL数据库pymysql
python多线程操作MySQL数据库pymysql 项目中使用多线程操作数据库提示错误:pymysql.err.InterfaceError: (0, "),原因是pymysql的exec ...
- python多线程写同一文件_Python多线程写文件实例
# -*- coding: utf-8 -*- import threading ''' 多线程生成日志工具 ''' __author = [ '"yangfei" ' ] #该方 ...
- python多线程同步与互斥_python多线程编程(3): 使用互斥锁同步线程
问题的提出 上一节的例子中,每个线程互相独立,相互之间没有任何关系.现在假设这样一个例子:有一个全局的计数num,每个线程获取这个全局的计数,根据num进行一些处理,然后将num加1.很容易写出这样的 ...
最新文章
- 时髦的互联网公司都在用什么技术?
- Windows Mobile使用Web Service上传和下载二进制数据流
- 《架构漫谈》阅读笔记
- 领域驱动设计DDD实战进阶第一波(十四):开发一般业务的大健康行业直销系统(订单上下文应用服务用例与接口)...
- 怎么统计是否内宿_第二关:描述统计分析
- 【转】代码里的命名规则:错误的和正确的对比
- FastDfs工作笔记001---Centos下安装FastDfs进行文件存储
- 看视频学编程之WinForm
- Node.js 线程你理解的可能是错的 1
- python逐行读取txt文件-在python 3.4上逐行读取文本文件
- vscode插件安装失败的解决方案
- 程序员面试金典——5.5整数转化
- Unable to compile template. Check the Errors list for details 问题解决办法
- 【心路历程】(NOIP 206)(HNOI 358)
- 数据中心运维管理方案
- C++小游戏——坦克大战
- 弹力球C语言课程设计,弹力球游戏c语言代码
- 防火墙的三种工作模式介绍(路由模式、透明模式(网桥)、混合模式)
- BCH分叉是一次站队博弈
- Qt5 QFileDialog中文英文交界处乱码问题
热门文章
- pytorch 笔记: DQN(experience replay)
- tkinter 笔记:列表部件 listbox (莫烦python 笔记)
- Python爬虫应用实战案例-xpath正则表达式使用方法,爬取精美壁纸
- 深度学习核心技术精讲100篇(四十九)-半监督学习在金融文本分类上的探索和实践
- MATLAB从入门到精通系列之MATLAB常见问题集锦-(二)
- SpringBoot 源码解析 —— SpringApplication 源码分析
- 最优化基础和机器学习优化
- Win7系统下装Linux操作系统详细流程(图文)
- linux 下Eclipse的安装
- Python零碎知识(2):强大的zip