自动采集一个网站的全部目录,我们就可以用多实现
优采云 发布时间: 2021-03-24 01:07自动采集一个网站的全部目录,我们就可以用多实现
原创文章自动采集一个网站的全部目录,接下来我们再看这个网站的其他部分,我们就可以用多线程实现这样的操作。第一步首先把网站的全部目录爬到本地。第二步设置线程池。eg:*windowsprogram下有线程池,我们可以考虑使用python的asyncio库,它用于异步操作。另外我们也可以利用python自带的threading库也可以实现异步操作。
第三步导入urllib库。这里我们用asyncio,asyncio是python标准库中的一个线程库,主要包括了urllib2,curio,eventloop,selector,webbrowser等模块的封装。第四步:先加载目录,我们导入了loggingasyncio.infile(seed=2),seed=2是让文件遍历的话变成分为多个文件,最好把一个文件的内容放在一个块里来遍历。
第五步:转换压缩为json文件。python里面有一个对json格式的处理asyncio.stringio,它可以转换,很有用的。第六步:使用json模块转换为mime格式文件。python里面有一个对mime格式的处理asyncio.mime_extract和asyncio.mime_in。我们这里先设置一个asyncio.mime_extract类,提供了其它的元素。
再设置一个asyncio.mime_in类,我们提供字符类的转换。使用asynciojson这个对象。第七步:遍历文件获取网页文本。python是一个动态语言,自己可以去定义文件名称,最终它会自动遍历网页生成文本,这个网页可以是图片,文件,js等等,我们就要用await语句注意一下。第八步:设置读取的结束时间,一般设置为5s,因为程序要读入的时候,如果速度太慢了就会出错。
第九步:再遍历一遍文件,把文本读出来。第十步:把我们要的设置为相应的接口。当然还要提供服务端。这里一定要加上asyncio提供服务端。由于只能用asyncio,其它的异步编程语言不能实现异步。