VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • python爬虫实战以及数据可视化

需要准备的环境:

 (1)python3.8

 (2)pycharm

 (3)截取网络请求信息的工具,有很多,百度一种随便用即可。

 

第一:首先通过python的sqlalchemy模块,来新建一个表。

 

第二:通过python中的request模块接口的形式调取数据。

1
2
3
4
5
6
7
8
9
10
11
12
13
  思路:(1)先获取所有城市信息:需要用request模块中的【requests.session()】session对象保存访问接口需要用到的信息:例如cookies等信息。
            2)通过城市分组,再用正则表达式筛选来获取python的岗位信息。
其中多次用到列表生成器,以后要多注意这方面的冷知识;不然会有莫名的错误。、
 
代码思路:只要保证可复用即可,其实很简单,毕竟Python是一门”干净“的语言。
       1)先把请求方法抽集到一个方法中:
      session.get(url(地址),headers(头信息),,timeout(时间),proxies(代理信息))
       2)先获取所有城市,利用列表生成器生成一个list把数据装进去。
       3)利用循环以城市分组拉去Python岗位信息。
               for city in lagou.city_list:
调用拉取岗位信息的方法。
       4)导入multiprocessing模块,设置多线程加速抓取:multiprocessing.Pool(自定 int or long)
需要注意的是:必须利用代理,以及多线程拉取。否则效率低下,可能导致信息不全,时间太慢。

 

 第三:将拉取的数据存入表中

  

1
思路:(1)由于拉取的是JSON格式,所以解读JSON格式,也是很繁琐的,需要把要的数据一条一条对应到固定的Key里,如图:

  

1
2
2)利用session对象的query方法,可以过滤查询想要的数据。
session.query(Lagoutables.workYear).filter(Lagoutables.crawl_date==self.date).all()

  第四:利用前台模板,将数据可视化。

   

1
2
3
1)首先需要通过编写JS文件,将几个图的数据放在一个方法里提高聚合,抽取出来提高可复用性。        (2)然后通过拼接把获取到的JSON格式的数据,按key:balue格式分配出来。
代码如下:
利用Ajax通信

 

 

 

 

 

 

结果展示:


相关教程