昨天教我利用Python来爬取自己想要的数据信息,上手贼简单!

网络爬虫

浏览数:192

2019-8-25

说明

导师给我布置了一个任务,对一个网站的城市做一些统计,将这个网站上的城市的经纬度信息提取出,然后绘制在百度地图上。要是为数不多的城市还好,但对于这种存在N个城市的 ,且这些城市的经纬度信息在第三级网站上才能找到,这样的话人工去完成又枯燥又耗时。

这个网站是维基百科关于自行车公共站点的统计介绍

这里可以看到城市这一列是有超链接的,通过点击这个城市的超链接,进入到第二级网站上:

比如上面是我点击第一个城市的跳转,我们需要的信息在右上角,但是真正的经纬度的坐标其实在这个右上角的超链接里。继续点击:


解决办法

对这种重复性的劳动,想到了利用之前自己研究过一段时间的爬虫来解决。可以参照一下之前的对于电影影评的提取和分析。

我的导师没事就喜欢教我一个Python案例,说要激发我的学习兴趣,搞的我现在没看到Python我就浑身没劲,现在手上也有一些Python的资料视频,大家可以加qun 227- 435 -450 获取资料哈~

我们的工作,首先最初的母网站是https://en.wikipedia.org/wiki/List_of_bicycle-sharing_systems#Cities

在网站上找到城市表,在此基础上进行超链接的两次点击进入。找出网站源代码和需要的城市表 。


这里的代码输出是:

刚刚好,就是找到的源代码,完全符合。

我们是要的a标签下的链接,才能再次进入网站。



输出:

第一个方法,目的在于根据城市链接,进入到第二级网站,找到a标签,如图所示:



第二个方法:找到经纬度


说明:处理找到网页源代码中的小技巧

需要的信息数据所在的位置,和所在的标签种类以及id等信息,可以采用鼠标右键的检查,找到源代码。

已经实现三层的网站数据链接爬取后,将所有城市的url循环遍历就好了。

然后就可以看到数据全部存在citys_url_data的json列表里面,最后如果有需要将这个citys_url_data写入到json文件中。

作者:小天真_5eeb