爬取美团网站信息(一)

最近入坑爬虫,在摸索使用scrapy框架爬取美团网站的数据

第一步,准备从地区信息开始爬,打开美团官网,点击切换地区,按F12,点击XHR,XHR会过滤出来异步请求,这样我们就看大了美团的地区信息的json数据,复制该链接http://www.meituan.com/ptapi/getprovincecityinfo/

解析该json数据,会获取到部分的地区以及区县的信息,但这样不利于后面的爬取,会重复爬取。我是通过过滤出来市一级的信息,然后利用页面的中区域分类信息进行爬取。

将获取到的数据保存到MongoDB数据库

先保存省然后是市然后区县然后是街道,然后根据街道的url爬取数据

这是获取省份以及市的代码

观察获取到的json数据后发现前面均为市一级的信息,所以通过每个省有多少个市来建立配置文件,通过配置文件来获取。

在通过读取配置文件的方式,过滤掉区县,留下市一级的所有信息

读取配置使用configparser模块。保存到数据库

scrapy框架遵守robot.txt规则,所以会被拒绝访问,在setting中设置

ROBOTSTXT_OBEY = False

同事为了避免出现请求403错误,继续设置setting

'''

伪造一个用户信息,防止403

'''

USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'

ITEM_PIPELINES = {

'Tencent.pipelines.TencentPipeline': 300,

}

'''

防止403崩溃。

'''

HTTPERROR_ALLOWED_CODES = [403]

下次将继续更新爬取县区以及街道的数据,数据量较大,目前还在继续爬取,准备爬取所有数据,有问题可以留言,只会提供思路,不会提供源代码

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180831G15G2U00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券