欢迎光临
我们一直在努力

python爬虫爬取大众点评店铺简介信息

  • 写作目的:
  • 爬取目标
  • 大众点评的保护机制
  • 应对方法
  • 还存在的问题

私信小编01即可获取Python学习资料

写作目的:

今天帮朋友一个忙,要爬取一些大众点评上的数据。结果发现大众点评的防爬机制还挺多的,记录一下自己踩的坑。

爬取目标

主要是通过分类和地区爬取店铺简介中的名称,地址,人均价格,各种评价分数和评价数

 

 

大众点评的保护机制

主要有两点
1.源码里加入了css反爬机制,主要是字体加密
2.对IP地址的限制,程序自动爬取大概十几页会断一下,目测应该是大众限制了一段时间内单IP访问量不能突破某一阈值。不过因为是爬取简介页面,所以手动验证一下也可以,没有像爬具体页面那样的封IP,有条件的也可以用IP池换IP访问。

应对方法

破解css加密机制参考了Python爬虫如何破解css加密
根据这篇文章建立字典后,对源码中的加密字符进行替换,然后通过正则匹配得到自己想要的部分



	tree=etree.HTML(rep)
    li_list=tree.xpath('//div[@class="content"]/div/ul/li')
    for li in li_list:
        title = li.xpath('.//div[@class="tit"]/a/h4/text()')[0]
        tag = li.xpath('string(.//div[@class="tag-addr"]/a/span)')
        score = li.xpath(
            'string(.//div[@class="star_score score_50  star_score_sml"]/text()|.//div[@class="star_score score_40  star_score_sml"]/text()|.//div[@class="star_score score_45  star_score_sml"]/text())')
        comments = li.xpath('string(.//div[@class="comment"]/a[@class="review-num"]/b)')
        prize = li.xpath('string(.//div[@class="comment"]/a[@class="mean-price"]/b)')
        address = li.xpath('string(.//div[@class="tag-addr"]/a[@data-click-name="shop_tag_region_click"]/span)')
        localaddress = li.xpath('string(.//div[@class="tag-addr"]/span)')
        flavor = li.xpath('string(.//div[@class="txt"]/span[@class="comment-list"]/span[position()=1])')
        environment = li.xpath('string(.//div[@class="txt"]/span[@class="comment-list"]/span[position()=2])')
        service = li.xpath('string(.//div[@class="txt"]/span[@class="comment-list"]/span[position()=3])')
        print(title, tag, score, comments, prize, address, localaddress, flavor, environment, service)
        with open('大众广州日料.csv', 'a', encoding='utf-8-sig', newline='') as f:
            writer = csv.writer(f, dialect='excel')
            writer.writerow([title, tag, score, comments, prize, address, localaddress, flavor, environment, service])

 

?

还存在的问题

woff 文件里有的文字数据和顺序都一样,但每个字对应的unicode 码不一样,所以用直接建立的字典会有些错误,想办法完善一下再放出完整代码。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:英协网 » python爬虫爬取大众点评店铺简介信息

分享到: 生成海报
avatar

热门文章

  • 评论 抢沙发

    • QQ号
    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址

    登录

    忘记密码 ?

    切换登录

    注册

    我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活