众所周知,Python中的多线程是一个假的多线程,对于多核CPU,由于受限于GIL全局解释锁,同一时刻只能有一个线程在运行。但是对于经常爬虫网络请求、下载图片等IO密集型操作,多线程变的很实用,能在一定程度上提高程序运行的效率。下面带大家从零开始学习Python多线程。1、单线程在单线程程序中可能包含多个方法,运行程序后,默认是在一个主线程里按顺序运行。importtimedefexe_time(
分类:
编程语言 时间:
2020-12-08 12:10:35
阅读次数:
6
一日一技:使用上下文管理器来强制关闭Chromedriver摄影:产品经理与产品经理环游世界当我们使用Selenium通过Chromedriver启动Chrome浏览网页时,可能会由于某些异常情况导致程序崩溃,但Chromedriver进程不会退出。例如,我们编写一段显然有问题的代码:fromselenium.webdriverimportChromedriver=Chrome(‘./chrome
分类:
其他好文 时间:
2020-12-08 12:08:37
阅读次数:
6
GNEv0.1正式发布:4行代码开发新闻网站通用爬虫摄影:产品经理GNE比羊肉面还香!GNE(GeneralNewsExtractor)是一个通用新闻网站正文抽取模块,输入一篇新闻网页的HTML,输出正文内容、标题、作者、发布时间、正文中的图片地址和正文所在的标签源代码。GNE在提取今日头条、网易新闻、游民星空、观察者网、凤凰网、腾讯新闻、ReadHub、新浪新闻等数百个中文新闻网站上效果非常出色
分类:
Web程序 时间:
2020-12-08 12:05:08
阅读次数:
8
为aiohttp爬虫注入灵魂摄影:产品经理与产品经理在苏州的小生活听说过异步爬虫的同学,应该或多或少听说过aiohttp这个库。它通过Python自带的async/await实现了异步爬虫。使用aiohttp,我们可以通过requests的api写出并发量匹敌Scrapy的爬虫。我们在aiohttp的官方文档上面,可以看到它给出了一个代码示例,如下图所示:我们现在稍稍修改一下,来看看这样写爬虫,运
分类:
Web程序 时间:
2020-12-08 12:03:47
阅读次数:
9
Kafka里面的信息是如何被消费的?摄影:产品经理跟着产品经理去苏州吃面作为一个爬虫工程师,Kafka对你而言就是一个消息队列,你只需要掌握如何向里面写入数据,以及如何读取数据就可以了。请谨记:使用Kafka很容易,但对Kafka集群进行搭建、维护与调优很麻烦。Kafka集群需要有专人来维护,不要以为你能轻易胜任这个工作。”本文,以及接下来的几篇针对Kafka的文章,我们面向的对象都是爬虫工程师或
分类:
其他好文 时间:
2020-12-08 12:03:19
阅读次数:
3
为什么每一个爬虫工程师都应该学习Kafka摄影:产品经理与产品经理环游世界的瞬间这篇文章不会涉及到Kafka的具体操作,而是告诉你Kafka是什么,以及它能在爬虫开发中扮演什么重要角色。一个简单的需求假设我们需要写一个微博爬虫,老板给的需求如下:开发爬虫对你来说非常简单,于是三下五除二你就把爬虫开发好了:接下来开始做报警功能,逻辑也非常简单:再来看看统计关键词的功能,这个功能背后有一个网页,会实时
分类:
其他好文 时间:
2020-12-08 12:02:43
阅读次数:
2
seleniumpython2.7安装配置1:安装pythonpython2.7版本(最新的python版本是3.4,但用户体验没有2.7版本的好,我们选择用2.7版本)下载地址:https://www.python.org/download/releases/2.7.8/下载Windowsx86MSIInstaller(2.7.8)安装包设置系统环境变量执行命令验证输入Python2:下载安装s
分类:
编程语言 时间:
2020-12-05 10:28:05
阅读次数:
9
Selenium+java-弹出框处理一、弹出框分类:弹出框分为两种,一种基于原生JavaScript写出来的弹窗,另一种是自定义封装好的样式的弹出框,本文重点介绍原生JavaScript写出来的弹窗,另一种弹窗用click()基本就能搞定。原生JavaScript写出来的弹窗又分为三种:alertconfirmprompt二、弹窗处理常用方法:alert/confirm/prompt弹出框操作主
分类:
编程语言 时间:
2020-12-04 11:35:38
阅读次数:
10
Selenium+java-截图操作写在前面自动化测试过程中,运行失败截图可以很好的帮我们定位问题,因此,截图操作也是我们自动化测试中的一个重要环节。截图方法1、通过截图类TakeScreenshout实现截图特点:截取浏览器窗体内的内容,不包括浏览器的菜单和桌面的任务栏区域具体示例代码如下:publicvoidtestScreenshoutByTakesScreenshot(){driver.m
分类:
编程语言 时间:
2020-12-04 11:10:01
阅读次数:
4
Selenium+java-日期控件的处理前言一般的日期控件都是input标签下弹出来的,设置日期使用selenium中的sendKeys方法就可以解决。但是我们也会碰到下面的时间日期控件(这个时候这个文本框是不允许我们输入时间的)如图:这个时候,没法调用WebElement的sendKeys(),像这种选择时间的input标签都会有一个readonly属性,这个时候我们就只能选择时间,不能手动输
分类:
编程语言 时间:
2020-12-04 11:09:44
阅读次数:
5