分析url的网页源代码,在源代码里有我们想要的评论数据,我们可以用正则(在这里正则还是比较好用的)把我们想要的信息弄下来

开启循环,批量抓取

保存数据至文本和数据库

defparse_one_page(html):

pattern2 = re.compile( '"m_type":"0",(.*?),"username"', re.S)

items=re.findall(pattern2,html)

foritem initems:

item = "{"+ item + "}"

item=json.loads(item)

write_to_file(item)

print(item)

save_to_mongo(item)

#皮皮哥告诉了我他的独家正则匹配方法可以匹配出来,这样的确获得的item没有编码问题

defparse_one_page(html):

pattern = '"content":".*?"'

items=re.findall(pattern,html)

foritem initems:

item =eval(item.split( ':', 1)[ 1])

write_to_file(item)

print(item)

save_to_mongo(item)

#对一般正则写法获得的item进行的方法,这是从皮皮哥那里得知的,亲测有效

defparse_one_page(html):

pattern = re.compile( 'rsion_name".*?"content":(.*?),"username"', re.S)

items=re.findall(pattern,html)

#print(items)

foritem initems:

item = item.encode( 'utf-8').decode( 'unicode_escape')

write_to_file(item)

print(item)

save_to_mongo(item)

三、代码

#config.py

MONGO_URL= 'localhost'

MONGO_DB= 'meituan'

MONGO_TABLE= 'meituan'importrequests

fromrequests.exceptions importRequestException

importjson

importre

fromday31.config import*

importpymongo

client=pymongo.MongoClient(MONGO_URL)

db=client[MONGO_DB]

base_url= 'http://comment.mobilem.360.cn/comment/getComments?callback=jQuery17209056727722758744_1502991196139&baike=%E7%BE%8E%E5%9B%A2%E5%A4%96%E5%8D%96+Android_com.sankuai.meituan.takeoutnew&start='

defthe_url(url):

try:

response = requests.get(url)

ifresponse.status_code== 200:

response.encoding= 'utf-8'

returnresponse.text

returnNone

exceptRequestException:

print( '请求出错')

returnNone

defthe_total():

html=the_url(base_url)

pattern1 = re.compile( '"total":(.*?),"messages"', re.S)

Total = re.findall(pattern1, html)

Total=int( ':'.join(Total))

#print(type(Total))

show= '总计评论%d条'%Total

print(show)

write_to_file(show)

returnTotal

defparse_one_page(html):

pattern2 = re.compile( '"m_type":"0",(.*?),"username"', re.S)

items=re.findall(pattern2,html)

foritem initems:

item = "{"+ item + "}"

item=json.loads(item)

write_to_file(item)

print(item)

save_to_mongo(item)

defsave_to_mongo(result):

try:

ifdb[MONGO_TABLE].insert(result):

print( '储存到MongoDB成功',result)

exceptException:

print( '储存到MongoDB失败',result)

defwrite_to_file(content):

withopen( 'meituan_result.text', 'a',encoding= 'utf-8') asf:

f.write(json.dumps(content,ensure_ascii= False)+ 'n')

f.close()

defmain():

Total=the_total()

Total=int(Total/ 10)+ 2

fori inrange(Total):

url = base_url + str(i* 10)

ifthe_url(url)!= None:

html=the_url(url)

parse_one_page(html)

else:

print( '输完啦')

ps= 'PS:因为有些评论空,所以实际评论比抓取的少'#这是我瞎猜的

write_to_file(ps)

print(ps)

if__name__ == '__main__':

main()

四、最后得到的数据视图和文件

五、总结

1.程序报错很正常,不要一报错就问别人,先自己思考、百度

2.在数据类型处理方面的知识还要加强

3.感谢皮皮哥、感谢姚文峰前辈!

作者:1想得美

链接:http://www.jianshu.com/p/25c8b4cfda1a

作者:1想得美

链接:http://www.jianshu.com/p/25c8b4cfda1a

python周末吃什么_中午不知道吃什么?用Python爬取美团外卖评论帮你选餐!相关推荐

  1. python周末吃什么_中午不知道吃什么,用Python爬取美团外卖评论帮你选餐

    一.介绍 朋友暑假实践需要美团外卖APP评论这一份数据,一开始我想,这不就抓取网页源代码再从中提取数据就可以了吗,结果发现事实并非如此,情况和之前崔大讲过的分析Ajax来抓取今日头条街拍美图类似,都是 ...

  2. python获取虎牙弹幕_教你用20行代码爬取直播平台弹幕(附源码)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  3. python微博爬虫实战_爬虫实战(一):爬取微博用户信息

    前言 最近做课设,是一个有关个人隐私安全的课题,在网上找了很多论文,最后上海交通大学的一篇硕士论文<面向社会工程学的SNS分析和挖掘>[1] 给了我很多灵感,因为是对个人隐私安全进行评估, ...

  4. python爬取公交车站数据_Python爬虫实例_城市公交网络站点数据的爬取方法

    爬取的站点:http://beijing.8684.cn/ (1)环境配置,直接上代码: # -*- coding: utf-8 -*- import requests ##导入requests fr ...

  5. python爬虫公众号_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  6. python微信爬取教程_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  7. python微信公众号推送_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  8. python爬取京东评论分析_【实战好文】|爬取京东书籍评论并分析

    原标题:[实战好文]|爬取京东书籍评论并分析 这是菜鸟学Python的粉丝第10篇原创投稿 阅读本文大概需要5分钟 本篇作者:小郑同学 上周的赠书活动中,收到了楼主送的<利用Python进行数据 ...

  9. python爬淘宝app数据_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)

    [一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 准备Pycharm,下载安装等,可以参考这篇文章 ...

最新文章

  1. mui ajax ab,mui.ajax中文乱码
  2. HDU - 2795 Billboard(线段树)
  3. Virtualbox中win7虚拟机中U盘不可用问题的解决
  4. 在HTML中使用JavaScript
  5. python怎么七个数字一换行_python中怎么换行?
  6. 升级centos6.5系统的gcc为4.8.5的简易步骤
  7. 虚拟机安装python包会出问题吗_虚拟机CentOS7安装python3.6.2及requests模块的问题汇总...
  8. 【CDAS峰会】吴喜之:数据科学的未来发展
  9. 炒币之止损止盈控制的艺术、投资入门
  10. 电子书城系统设计与实现
  11. 安装win10虚拟机遇到的坑
  12. 服务器pci光卡 系统不显示,工控机系统读取不到PCI卡的原因及解决办法
  13. 【计算机网络】实验1:双绞线制作
  14. 显著性水平 置信度 置信区间 实例讲解
  15. Nginx学习八:虚拟主机
  16. bigworld游戏服务器架构参考
  17. HDFS退出安全模式
  18. Jsoup和JsoupXpath详解
  19. 免费的编程中文书籍索引
  20. IllegalArgumentException 异常时一个不易觉察的原因

热门文章

  1. 简单的for()循环使用方式foreach
  2. Android应用开发-onNewIntent()
  3. 进程控制块包含的信息
  4. ibatis oracle function,IBATIS调用oracle function(函数)的步骤实例
  5. flask-SQLAlchemy 使用 session.commit() 处理异常回滚
  6. 清华大学《操作系统》(七):虚拟存储、覆盖、交换
  7. 机器学习算法之 KNN
  8. 【自动化测试】整理各种测试开发工具!持续更新
  9. SQLAlchemy()分页器paginate方法
  10. 计算机在输电线路设计中的应用研究,计算机在输电线路基础设计中的应用原稿(备份存档)...