网站做百度排名,网络策划就业前景,淮南网红小长城,wordpress 侧栏加flash爬虫成长之路#xff08;一#xff09;里我们介绍了如何爬取证券之星网站上所有A股数据#xff0c;主要涉及网页获取和页面解析的知识。爬虫成长之路#xff08;二#xff09;里我们介绍了如何获取代理IP并验证#xff0c;涉及了多线程编程和数据存储的知识。此次我们将在… 爬虫成长之路一里我们介绍了如何爬取证券之星网站上所有A股数据主要涉及网页获取和页面解析的知识。爬虫成长之路二里我们介绍了如何获取代理IP并验证涉及了多线程编程和数据存储的知识。此次我们将在前两节的基础上对证券之星全站的行情数据进行爬取。第一节的思路爬一个栏目的数据尚可爬上百个栏目的数据工作量就有点大了。下面我们先介绍下基础的爬虫架构。 本文主要包含爬虫框架六大基础模块分别为爬虫调度器、URL下载器、URL管理器、HTML下载器、HTML解析器、数据存储器。功能分析如下 爬虫调度器主要负责统筹其他四个模块的工作。 URL下载器主要负责下载需要爬取数据的URL链接。 URL管理器负责管理URL链接维护已经爬取的URL集合和未爬取的URL集合提供获取新URL链接的接口。 HTML下载器用于从URL管理器中获取未爬取的URL链接并下载HRML网页。 HTML解析器用户从HTML下载器中获取已经下载的HTML网页解析出有效数据交给数据存储器。 数据存储器用于将HTML解析器解析出来的数据通过文件或者数据库的形式储存起来。 为了方便理解以下是基础爬虫框架运行流程示意图 此处介绍文件夹下面我们对这6大模块进行详细的介绍。 一、URL下载器 URL下载器包含两步首先下载网站左侧导航栏的URL然后通过导航栏的URL获取每个子栏目包含的链接列表。 下面是获取左侧导航栏所有链接并生成导航文件的代码 get_catalog 下面是获取每个子栏目所有链接的代码 get_urls 二、URL管理器 URL管理器主要包括两个变量一个是已爬取的URL的 集合另外一个是未爬取的URL的集合。采用Python中的set类型主要是使用set的去重功能。 URL管理器除了具有两个URL集合还需要提供以下接口用于配合其他模块使用接口如下 判断是否有待取的URL方法定义为has_new_url()。 添加新的URL到未爬取集合中方法定义为add_new_url(url)add_new_urls(urls)。 获取一个未爬取的URL方法定义为get_new_url() 下面为URL管理器模块的代码 UrlManager 三、HTML下载器 HTML下载器用来下载网页这时候需要注意网页的编码已保证下载的网页没有乱码。 获取网页内容时可能会遇到IP被封的情况所以我们得爬取一个代理IP池供HTML下载器使用。 下面是获取代理IP池的代码 get_proxy_ip 下面是HTML下载器模块的代码 HtmlDownloader 四、HTML解析器 HTML解析器主要对HTML下载器下载的网页内容进行解析提取想要的内容。 本文用到的网页解析方法主要是正则表达式和BeautifulSoup下面是HTML解析器的代码 HtmlParser 五、数据存储器 数据存储器主要对解析器解析的数据进行存储存储方式有很多种本文选用MYSQL数据库进行存储。 解析器把每一页的股票数据存为了一个数据框然后通过数据库连接引擎把数据框的数据直接存入数据库。 以下是数据存储器的模块的代码 DataOutput 六、爬虫调度器 爬虫调度器主要将上述几个模块组合起来合理的分工高效完成任务。 爬虫调度器采用进程池的方式加快了程序执行的效率下面是爬虫调度器模块的代码 SpiderMan 将上述每个模块的代码都新建一个py文件放在firstSpider文件夹下并运行如下主程序即可获取证券之星全站的股票数据 main 麻雀虽小五脏俱全以上是用简单的爬虫框架实现的一次全站内容爬取在执行速度和程序伪装上还有很大提升空间希望能够与大家一同交流成长。 Python学习路线汇总Python所有方向的技术点做的整理形成各个领域的知识点汇总它的用处就在于你可以按照下面的知识点去找对应的学习资源保证自己学得较为全面
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理形成各个领域的知识点汇总它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。 二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了还有环境配置的教程给大家节省了很多时间。 三、全套PDF电子书
书籍的好处就在于权威和体系健全刚开始学习的时候你可以只看视频或者听某个人讲课但等你学完之后你觉得你掌握了这时候建议还是得去看一下书籍看权威技术书籍也是每个程序员必经之路。 四、入门学习视频全套
我们在看视频学习的时候不能光动眼动脑不动手比较科学的学习方法是在理解之后运用它们这时候练手项目就很适合了。 五、实战案例 光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。 **学习资源已打包需要的小伙伴可以戳这里【学习资料】