美食家大橙子 发表于 2024-9-17 12:08:08

Python爬虫:基础爬虫架构及爬取证券之星全站行情数据!

 https://i-blog.csdnimg.cn/direct/2890eddf4fc84e67b9be7c9d52e1d34b.png
 爬虫发展之路(一)里我们介绍了如何爬取证券之星网站上全部A股数据,重要涉及网页获取和页面解析的知识。爬虫发展之路(二)里我们介绍了如何获取代理IP并验证,涉及了多线程编程和数据存储的知识。此次我们将在前两节的基础上,对证券之星全站的行情数据举行爬取。第一节的思路爬一个栏目的数据尚可,爬上百个栏目的数据工作量就有点大了。下面我们先介绍下基础的爬虫架构。
       本文重要包罗爬虫框架六大基础模块,分别为爬虫调理器、URL下载器、URL管理器、HTML下载器、HTML解析器、数据存储器。功能分析如下
       爬虫调理器:重要负责统筹其他四个模块的工作。
       URL下载器:重要负责下载需要爬取数据的URL链接。
       URL管理器:负责管理URL链接,维护已经爬取的URL集合和未爬取的URL集合,提供获取新URL链接的接口。
       HTML下载器:用于从URL管理器中获取未爬取的URL链接并下载HRML网页。
       HTML解析器:用户从HTML下载器中获取已经下载的HTML网页,解析出有效数据交给数据存储器。
       数据存储器:用于将HTML解析器解析出来的数据通过文件或者数据库的形式储存起来。
       为了方便明确,以下是基础爬虫框架运行流程示意图
       
 https://i-blog.csdnimg.cn/direct/a108da2e10f54e1eb585fd31c2a83a90.png
       此处介绍文件夹,下面,我们对这6大模块举行具体的介绍。
       一、URL下载器
       URL下载器包罗两步,首先下载网站左侧导航栏的URL,然后通过导航栏的URL获取每个子栏目包罗的链接列表。
       
https://i-blog.csdnimg.cn/blog_migrate/dfac035c54268906a3246839da24456e.png
       下面是获取左侧导航栏全部链接并生成导航文件的代码

 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常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

https://i-blog.csdnimg.cn/blog_migrate/c09ed8da525f0033ae8b9012deefc68f.png


https://i-blog.csdnimg.cn/blog_migrate/0c40750fa758e6af68dc9dad15c2c66e.png

二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,还有环境配置的教程,给大家节省了许多时间。

https://i-blog.csdnimg.cn/blog_migrate/c84f9a0dc52c88f671a9a874eb567d84.png




三、全套PDF电子书

册本的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你以为你掌握了,这时候发起还是得去看一下册本,看权威技术册本也是每个程序员必经之路。

https://i-blog.csdnimg.cn/blog_migrate/0dd52392edf09261731014ba8c4c5092.png
四、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在明确之后运用它们,这时候练手项目就很得当了。

https://i-blog.csdnimg.cn/blog_migrate/acf0d43accd97405542d2ceaefe746cb.png

https://i-blog.csdnimg.cn/blog_migrate/019d65aec0f1ba4c598e2735dd5e7043.png


五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

https://i-blog.csdnimg.cn/blog_migrate/df265d6cc192d8209a157795b0e38342.png

https://i-blog.csdnimg.cn/blog_migrate/a68dd41d15a513f2aa2f1efb0dfc9666.png
**学习资源已打包,需要的小同伴可以戳这里:【学习资料】 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Python爬虫:基础爬虫架构及爬取证券之星全站行情数据!