当前位置: 首页 > SEO学院SEO知识

seo: python网络爬虫超简单获取数据

来源:未知 浏览量:147次

如何在网络上获得自己想要的数据呢大家首先就会想到网络爬虫。python编写的获取网络数据程序是大家最为熟知的...

seo教程:python网络爬虫超简单获取数据

Python 3.4之后引进asyncio库另外针对异步IO也干了适用。那aiohttp又是什么呢?aiohttp是在asyncio基本上封裝的http架构。下边是一段应用asyncio、aiohttp完成读取数据的程序:

seo教程:python网络爬虫超简单获取数据

应用上边的程序能够 取得大家务必浏览器打开才可以见到的数据信息下边是获得自身的html信息内容系统日志

seo教程难题

上边的程序仅仅简易地循环系统了10次看上去是没有问题的。那假如循环系统1000次呢?大家来试一下結果确给出了以下不正确。

ValueError: too many file descriptors in select() 这一不正确关键是由于windows、linux系统软件针对文件句柄有限定。windows下边默认设置开启文件句柄或socket是512, 而linux是1024。

处理

asyncio出示了Semaphore能够 限定文件句柄另外开启的数量。由于拥有限定因此不容易超出系统软件的最高值因而也就不容易再出错了。程序以下:

輸出系统日志:

从系统日志我们可以看得出Semaphore非常好地限定了一次请求的数量。假如一次请求的数量超出了这一阀值则就会就入等候直至之前请求所有进行。我还在上边的请求里加了三秒的用时这时见到一次仅仅两个请求在解决上边的两个请求完成了以后如何优化搜索引擎上边的两个请求完成了以后后边才会再次。

展开全部内容