美文网首页
大众点评评论抓取

大众点评评论抓取

作者: 凉城的夜 | 来源:发表于2018-08-01 14:59 被阅读0次

一、背景

大众点评评论部分还是值得我们关注的,因为我们上点评网看的也就是评论,通过评论抓取分析,也有利于我们对店铺有更加清晰的定位

二、 抓取分析

商铺列表页

首先通过店铺列表页可以得到各家店铺的URL列表,或者店铺的ID,因为店铺详情页就是通过店铺ID做的相应拼接。如:http://www.dianping.com/shop/2972056/review_all/p; 第一个关键字就是店铺ID,第二个关键字为评论详情页,第三个P则为翻页。

评论详情页

详情页我们抓取了用户名称,用户url链接,以及用户对店铺做的一些相应评价。

三、 数据抓取

#!/usr/bin/env python

# encoding: utf-8

"""

@version: v1.0

@author: W_H_J

@license: Apache Licence

@contact: 415900617@qq.com

@site:

@software: PyCharm

@file: dazhongdianpin.py

@time: 2018/8/1 10:32

@describe: 抓取大众点评评论信息"""

import csv

import requests

from pyqueryimport PyQueryas pq

headers = {

'Host':'www.dianping.com',

    'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/535.19',

    'Accept-Encoding':'gzip',

}

def spiderDazhong(ID):

try:

html = requests.get("http://www.dianping.com/shop/%s/review_all"%(ID), headers=headers)

doc = pq(html.text)

if doc:

# 存入csv文件

            out =open('./data/Stu_csv.csv', 'a', newline='',encoding="utf-8")

# 设定写入模式

            csv_write = csv.writer(out, dialect='excel')

shopName = doc("div.review-list-header > h1 > a").text()

shopurl ="http://www.dianping.com"+doc("div.review-list-header > h1 > a").attr("href")

csv_write.writerow(["店铺名称","店铺网址"])

csv_write.writerow([shopName,shopurl])

csv_write.writerow(["用户名", "用户ID链接", "评定星级", "评论描述", "评论详情", "评论时间", "评论商铺", "评论图片"])

# 解析评论

            pinglunLi = doc("div.reviews-items > ul > li").items()

for datain pinglunLi:

userName = data("div.main-review > div.dper-info > a").text()

userID ="http://www.dianping.com"+data("div.main-review > div.dper-info > a").attr("href")

startShop =str(data("div.review-rank > span").attr("class")).split(" ")[1].replace("sml-str","")

describeShop = data("div.review-rank > span.score").text()

pinglunShop = data("div > div.review-words").text().replace("收起评论","").replace(" ","").replace("\n","")

timeShop = data("div.main-review > div.misc-info.clearfix > span.time").text()

Shop = data("div.main-review > div.misc-info.clearfix > span.shop").text()

imgShop = data("div > div.review-pictures > ul > li> a").items()

imgList = []

for imgin imgShop:

imgList.append("http://www.dianping.com"+img.attr("href"))

# 写入具体内容

                csv_write.writerow([userName,userID,startShop,describeShop,pinglunShop,timeShop,Shop,imgList])

print("successful insert csv!")

except Exception as e:

print("error",str(e))

if __name__ =='__main__':

# 代表各大商铺ID,可通过商铺列表页回去

    listShop = ["2972056", "91018291","69952338"]

for shopin listShop:

spiderDazhong(shop)

四、 完整代码

完整代码可见github:https://github.com/Liangchengdeye/DaZhongdianping.git

相关文章

  • 大众点评评论抓取

    一、背景 大众点评评论部分还是值得我们关注的,因为我们上点评网看的也就是评论,通过评论抓取分析,也有利于我们对店铺...

  • 大众点评各城市热门餐厅数据爬虫抓取

    大众点评抓取 网址链接 http://www.dianping.com/shoplist/shopRank/pcC...

  • iOS与JavaScript交互总结

    最近由于公司业务需要,需要在移动端调用JS去解析大众点评网页,同时抓取评论相关内容。对iOS与JS交互进行了研究,...

  • 大众点评页面抓取实例

    #coding:utf-8 import re from bs4 import BeautifulSoup as ...

  • 抓取大众点评商户数据

    大众点评商户数据还是有难度的,特别是美食类的,字体做了加密,网上很多资料自己看下即可。 之前是实时搜索抓取,需要登...

  • 2018-04-01

    大众点评页面结构分析 本次我选择的垂直搜索App是大众点评。搜索页面分析包括大众点评首页和搜索结果页的分析。 大众...

  • 双端产品分析思路

    这三点是大众点评特有的产品信息结构 从社区内容的角度来看大众点评从内容的角度来看大众点评从商业的角度来看大众点评 ...

  • Python文件操作时出现Permission denied:

    最近在分析大众点评网站的时候,使用python抓取了一部分信息,想要以json的格式存储下来 出现了如下问题: 解...

  • 大众点评数据爬取

    之前准备把大众点评商户和评价信息都抓取下来,遇到两个问题就搁下来。 分类(菜系)、地点都不限制,不能搜到全部信息,...

  • Python——大众点评评论爬虫代码

网友评论

      本文标题:大众点评评论抓取

      本文链接:https://www.haomeiwen.com/subject/zgqrvftx.html