这是一个职位分析小工具,由简单的爬虫和分析库帮你完成。因为不涉及框架,所以如果你对爬虫只闻其名的话,本文会带读者初步地了解爬虫(python爬虫)到底是如何运行的。而如果你已经具备python基础,那么你在本文最后将得到这个程序的源代码并尝试着使用它。
第一步:准备url,并发送请求
这第一步就好比你准备上哪家网站搜集信息,并访问请求。
访问url.PNG这个方法用来访问网址,并返回一个网页源代码。
第二步:提取需要的数据
这第二步是爬虫的核心也是难点。怎么提取?有三种方法:
-xpath: 先分组,再提取
-正则表达式: 匹配条件
-beautifuleSoup: 直接匹配html或css标签
这三种方法,优劣各异,没有最好的方法,只有在特定情形下最合适的方法。
beau提取.PNG
xpath提取.PNG
上两图分别为BeautifulSoup和xpath方法,因为牵扯到的信息量很杂乱,因此这两种方法在此处食用更佳。
然后把爬取(收集)到的数据返回。
返回数据.PNG
这里用到的是yield而不是return的原因是:节省你的内存空间。反正都是用一次就丢到数据库去了,没必要用列表(内存)装满这些数据再一次性发送。而爬虫往往都是海量数据,这要留意一下。
第三步:保存数据
这里有两种处理方式,保存在本地,和保存到数据库。
-保存到本地,txt、json、csv
-保存到数据库中,MySQL,Redis,MongoDB
主函数.PNG
这是程序的主函数,糅合了前面介绍的两个步骤。此外,KEYWORDS和args是我配置文件中设好的参数。详见请看下图:
配置文件.PNG
if name =='main':就是一个调兵遣将的地方。在这里使用了两个技巧,进程池加快爬取效率,笛卡儿积拼接url的参数。
以上,爬取数据并下载到数据库就完成了。接下来是从数据库中拿取下载好的数据进行数据可视化。其中用到了matplotlib、numpy、pandas、wordcloud等专业的数据分析库。但城市样本选取地不太好,导致分析效果欠缺。不过,这是可以自己配置的。效果图如下:
饼图.PNG
词云图.PNG
附上本程序源代码 https://github.com/chrishfz/Job-search-analyzer
往后,我会写关于爬虫的scrapy框架的知识,让爬虫程序更加模块化。敬请期待。谢谢~~
网友评论