今天小焦闲余时间给大家说一下如何使用python爬取婚礼纪上面的商家信息,提前声明该教程只讲思路,仅用于爬虫技术的研究分享,读者不得用于非法用途以及商业用途,后果自负。
背景
写该爬虫是因为我在婚庆公司上班,公司需要商家得联系方式,然后我就上婚礼纪看了下,商家得信息都是公开得。我大概看了下,随便搜了一下,光摄影就二十多页,一页40个。手动录得话那手不得抽筋了,于是就想到用爬虫,既然咱们是学python得,那就得利用一下。废话不多说,上教程思路。
教程思路
好了开始今天得教程,代码就不展示了,虽然我之前已经写好了,但是肯定是不能公开得。哈哈。今天我们只说思路。
在写一个爬虫前,我们首先得搞清楚自己得需求,例如我是婚庆公司,我肯定得先确定我需要什么样得信息?需要商家得名称、电话了,这两个是必须得,其次其他得信息肯定越多越好了,例如地址啥啊得。
步骤
第一步
我们先打开婚礼纪得官网,会看到如下界面,因为我在西安,所以肯定是需要西安得客户了,所以先点击婚礼纪logo旁边得地区选择选为西安。然后就随便先来个摄影得把,点击搜索。
第二步
完成第一步后,我们会看到下图,出现商家和套餐两个大标题,我们需要得肯定是商家得信息,点击查看更多商家。
第三步
通过前面两步,我们已经进入到我们得正题了,这时候是呈现在眼前得是大量得商家列表。这是我们按F12
或者鼠标右键然后点击检查。
然后出现该页面得到网页源代码,我们选择工具栏第四个Network
,这个是用来得抓包得,因为我们是先打开网页后才打开工具得,随意按下F5刷新一下网页重新抓包。这时候会看到很多得东西,图片,链接等等,非常多。
这个时候我们要思路清晰,现在大多数得网站数据都是通过ajax异步加载来给用户展示得,所以我们要得到的数据一般都是通过一个单独的请求来得到的。点击工具栏第三行的XHR
这时,看到里面有两个链接很可疑,里面有字符编码和page的字样,很有可能时我们需要的东西,点开看看,选择右边的preview
,看到是有data字段,这是数据的意思。点开看看果不奇然是一个列表,名称顺序和我们搜索到的一模一样
点开其中一条看看,果然有很多的数据,我们需要的名称,地址都有,但是没用电话。
上图中除了地址、名称、区域外,我特别标出了一个id
,这个是非常重要的,平时对数据库了解的都知道ID的重要性,弄不好查询电话是需要这个东西。
其次我们在数据最下面还看到page_count
的字样,这个是所有的页数总数,以及左边的链接,我们可以使用一个循环将所有页面抓出来。剩下的细节就步多说,自己写。
第四步
上面几步我们以及得到商家的地址、名称等等。但是最重要的电话信息没有,没有这个相当于本次的爬虫没有任何意义。所以我们随便打开一个商家看看
没错,电话中间四位是星号,必须人工手动查看。这是我们还是老套路F12。然后点击查看完整电话。
果不奇然,在点击的那一刻,XHR中蹦出来的一个链接,打开之后果然有我们需要的电话号码。其次还有就是左边的链接中的id和我们前面的id是一致的。所以我们要要想得到知道某个商家的电话,只需要将上图的链接里面的id改为对应商家就好了。
总结
本次婚礼纪的爬虫非常简单,基本使用python的request函数就能解决了,后期我会在这个基础上添加不同城市的爬取方法。感谢阅读,最后申明,本次爬虫思路只做技术交流,不得用于违法的事,后果自负。
评论抢沙发