简单的大众点评爬虫

一个很简单的爬虫,爬取中大周边地点的点评信息。

# -*- coding: utf-8 -*-
import requests
import re
import time

def placeSplider(name, star, url):
    time.sleep(5)
    res = requests.get(‘http://www.dianping.com‘+url)
    text = res.text
    longInfo = "<p class=\"desc J-desc\">(.*?)</p>"
    longInfo_re = re.compile(longInfo, re.DOTALL)
    longInfos = longInfo_re.findall(text)

    info = "sml-rank-stars sml-str(.*?)\".*?<p class=\"desc\">(.*?)</p>"
    info_re = re.compile(info, re.DOTALL)
    results = info_re.findall(text)
    #print result
    #print ‘%d results‘ %len(results)
    if len(results) == 0 or len(results[0]) < 2 or results[0][1].count(u‘人点评‘) > 0:
        print u‘没有点评\n‘
        return
    fOut = open(‘D:\\%s.txt‘ %name, ‘w‘)
    fOut.write(‘place star %s\n‘ %star)
    for result in results:
        star = result[0]
        info = result[1]
        if info.count(‘<span‘) > 0 or info.count(u‘仅售‘)>0:#去广告
            print ‘‘
            break
        else:
            if info[-6:] == u"......":#替换短评论为相应的长评论
                info = info[:-6]
                for i in longInfos:
                    if i.count(info) > 0:
                        info = i
                        break
            info = info.replace("<br/>", ‘‘)
            info = info.replace("<br>", ‘‘)
            info = info.replace("&nbsp;", ‘‘)
            print star, info
            fOut.write(‘%s\n‘ %star)
            fOut.write(‘%s\n‘ %info.encode(‘u8‘))
    fOut.close()

for page in range(1, 6):
    res = requests.get(‘http://www.dianping.com/search/keyword/206/0_%E4%B8%AD%E5%B1%B1%E5%A4%A7%E5%AD%A6/p‘+str(page))
    text = res.text
    href = "data-hippo-type=\"shop\" title=\"(.*?)\" target=\"_blank\" href=\"(.*?)\".*?sml-rank-stars sml-str(.*?)\""
    href_re = re.compile(href, re.DOTALL)
    result =  href_re.findall(text)
    for place in result:
        name = place[0]
        url = place[1]
        star = place[2]
        print name, star, url
        placeSplider(name, star, url)
    time.sleep(5)
时间: 2024-10-28 15:45:13

简单的大众点评爬虫的相关文章

python爬虫实例详细介绍之爬取大众点评的数据

python 爬虫实例详细介绍之爬取大众点评的数据 一. Python作为一种语法简洁.面向对象的解释性语言,其便捷性.容易上手性受到众多程序员的青睐,基于python的包也越来越多,使得python能够帮助我们实现越来越多的功能.本文主要介绍如何利用python进行网站数据的抓取工作.我看到过利用c++和Java进行爬虫的代码,c++的代码很复杂,而且可读性.可理解性较低,不易上手,一般是那些高手用来写着玩加深对c++的理解的,这条路目前对我们不通.Java的可读性还可以,就是代码冗余比较多,

大众点评网商家数据采集爬虫实现源码

源码如下,以大家最爱的黄焖鸡米饭为例~大家可以拷贝到神箭手云爬虫(http://www.shenjianshou.cn/)上直接运行: // 大众点评上爬取所有"黄焖鸡米饭"的商户信息 var keywords = "黄焖鸡米饭"; var scanUrls = []; //国内的城市id到2323,意味着种子url有2323个 //作为sample,这里改成1,只爬取上海的黄焖鸡米饭门店 //for (var i = 1; i <= 2323; i++) {

android 粗暴简单仿美团/大众点评搜索方式,详细标注

转载请注明出处王亟亟的大牛之路 美团和大众点评的搜索和筛选栏,不能说好看(审美flag),但是满足了我们的搜索还筛选的需求,所以今天就实现了下这样的一个小Demo 项目结构:运行效果就是下图了,就不再截图了 初始化的样子: 具体实现就是起初3个LinearLayout,点击之后出现一个ListView然后会根据对这个LisvView的点击可能会再出现下一级别的子菜单. 废话不多说,直接上代码 MainActivity public class MainActivity extends Activ

采集大众点评、美团等数据进行大数据挖掘

当你有了一只美丽的爬虫后你可以做很多有意思的事情,比如爬虫爬到了很多餐饮数据后就可以做餐饮地区活跃度分析了,这些分析指标是很有意义的,特别是对准备开店的人.首先要将数据从大众点评.美团或其他网站数据采集下来,方式可以从美食产品入口,然后找到餐饮公司信息,然后找到地址,地区等信息.采集的时候要做好防重策略,这样可以节省很多时间,还有就是不要并发太大,以免影响正常的业务.将采集到的数据写入数据库,以备后用.有了这些数据就可以对餐饮公司的分布做统计分析了,能很容易统计出某个城市餐饮公司的地区分布情况,

Hawk: 20分钟无编程抓取大众点评17万数据

1. 主角出场:Hawk介绍 Hawk是沙漠之鹰开发的一款数据抓取和清洗工具,目前已经在Github开源.详细介绍可参考:http://www.cnblogs.com/buptzym/p/5454190.html,强烈建议先读这篇文章,该文介绍了详细原理和抓取链家二手房的攻略,以此为基础,才能较好的理解整个操作. 本文将讲解通过本软件,获取大众点评的所有美食数据,可选择任一城市,也可以很方便地修改成获取其他生活门类信息的爬虫. 本文将省略原理,一步步地介绍如何在20分钟内完成爬虫的设计,基本不需

大众点评订单系统分库分表实践

转载至:http://tech.meituan.com/dianping_order_db_sharding.html 背景 原大众点评的订单单表早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想的情况.去年大量抢购活动的开展,使数据库达到瓶颈,应用只能通过限速.异步队列等对其进行保护:业务需求层出不穷,原有的订单模型很难满足业务需求,但是基于原订单表的DDL又非常吃力,无法达到业务要求.随着这些问题越来越突出,订单数据库的切分就愈发急迫了. 这次切分,我们

怎么干翻大众点评

要挑战甚至干翻大众点评,先要知道大众点评的优势或者根基是什么? 第一.海量的商户信息. 第二.累积多年的UGC点评内容. 第三.已经形成的忠实用户与移动/线下渠道(包括各城市入驻的销售团队等). ------------------------------ <第一 海量的商户信息累积> --------------------------------- Dp起源于上海,经过近十年的数据累积.目前上海地区至少餐饮商户的覆盖率已经非常高了.但全国范围内看,点评的模式决定了它前进会比较缓慢.杭州地区

用Swift实现淘宝和大众点评的下拉刷新

来自Leo的原创博客,转载请著名出处 我的StackOverflow 我的Github https://github.com/LeoMobileDeveloper 效果 淘宝 大众点评 项目地址 其中 大众点评的下拉刷新用了50行左右代码 淘宝的下拉刷新用了90行左右代码 完整的代码地址:PullToRefreshKit Tips:用Swift 2.2写的,所以需要XCode 7.3来运行. PullToRefreshKit 这是我用纯Swift 2.2写的一个库,初衷是为了更简单的实现自定义下

Android 仿美团网,大众点评购买框悬浮效果之修改版

我之前写了一篇关于美团网,大众点评的购买框效果的文章Android对ScrollView滚动监听,实现美团.大众点评的购买悬浮效果,我自己感觉效果并不是很好,如果快速滑动界面,显示悬浮框的时候会出现一卡的现象,有些朋友说有时候会出现两个布局的情况,特别是对ScrollView滚动的Y值得监听,我还使用了Handler来获取,还有朋友给我介绍了Scrolling Tricks这个东西,我下载试了下,确实美团网,大众点评的购买框用的是这种效果,但是Scrolling Tricks只能在API11以上