为什么80%的码农都做不了架构师?>>>   

抓起大众点评的用户评论

 #encoding='UTF-8'
__author__ = 'Administrator'
import sys,urllib.request
sys.path.append('./')
import sql
#import re,time
import time
from bs4 import BeautifulSoup
#------------------------------------------------------
def Mysqls():return  sql.Mysql('127.0.0.1','root','123456','test_msccms')
#------------------------------------------------------
class dianping:def __init__(self):self.names=''self.cturl=[]self.ctname=[]self.ctaddr=[]self.users=[]self.datas=[]self.tms=[]def get_ct_url(self,htmlurl):self.htmlurl=htmlurlheaders = ('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36')opener = urllib.request.build_opener()opener.addheaders = [headers]htmlline = opener.open(self.htmlurl).read()#page=urllib.request.urlopen(self.htmlurl)#htmlline = page.read()#soup=BeautifulSoup(htmlline,"html.parser",from_encoding="UTF-8")soup=BeautifulSoup(htmlline,"html.parser")self.names=soup.span.stringprint('\n店名:',soup.span.string)#获取餐厅名称for i in  soup.find_all(attrs={"class" : "field-name"}):#psoup=BeautifulSoup(str(i),"html.parser")#self.ctname.append(psoup.div.string)try:#必须print打印,否则无法触发异常,导致报错程序停止print(i)psoup=BeautifulSoup(str(i),"html.parser")self.ctname.append(psoup.div.string)except:self.ctname.append('')pass#print(self.users)#获取餐厅地址for i in  soup.find_all(attrs={"class" : "field-addr"}):psoup=BeautifulSoup(str(i),"html.parser")self.ctaddr.append(psoup.div.string)##获取餐厅URLfor i in  soup.find_all(attrs={"target" : "_blank"}):psoup=BeautifulSoup(str(i),"html.parser")if psoup.a.string == None:self.cturl.append(psoup.a.attrs['href'])#print(psoup.a.attrs['href'])#print(self.cturl)return self.cturl,self.ctname,self.ctaddrdef get_ct_pinlun(self,htmlurl):self.htmlurl=htmlurlpage = urllib.request.urlopen(self.htmlurl)htmlline = page.read()#soup=BeautifulSoup(htmlline,"html.parser",from_encoding="UTF-8")soup=BeautifulSoup(htmlline,"html.parser")self.names=soup.span.stringprint('\n店名:',soup.span.string)for i in  soup.find_all(attrs={"class" : "name","rel":"nofollow"}):psoup=BeautifulSoup(str(i),"html.parser")self.users.append(psoup.a.string)#print(self.users)for i in soup.find_all("span",{"class" : "time"}):tmsoup=BeautifulSoup(str(i),"html.parser",exclude_encodings="UTF-8").span.string#    #tmsoup.span.stringtmsjoin=''.join(str(tmsoup).split('\xa0\xa0'))self.tms.append(tmsjoin)sps=soup.findAll("p",{"class" : "desc"})for i in  sps:strs=str(i).split()try:dts=strs[1].split('>')[1:][0].split('<')[0]self.datas.append(dts)except:#print('F',i)continue#print('--',self.datas)return self.names,self.htmlurl,self.users,self.datas,self.tmsdef get_ct_info(self,htmlurl):self.htmlurl=htmlurlheaders = ('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36')opener = urllib.request.build_opener()opener.addheaders = [headers]htmlline = opener.open(self.htmlurl).read()#page = urllib.request.urlopen(self.htmlurl)#htmlline = page.read()#soup=BeautifulSoup(htmlline,"html.parser",from_encoding="UTF-8")soup=BeautifulSoup(htmlline,"html.parser")#获取餐厅名称names=soup.title.string.split('电话')[0]#print('\n店名:',names)#获取地址addrs=soup.find_all(attrs={"class" : "item","itemprop":"street-address"})ap=BeautifulSoup(str(addrs),"html.parser")addrs=ap.span.string.split()[0]#print(ap.span.string.split()[0])#获取电话phone=soup.find_all(attrs={"class" : "item","itemprop":"tel"})pp=BeautifulSoup(str(phone),"html.parser")phones=pp.span.string.split()[0]#print(pp.span.string.split()[0])return names,phones,addrsdef run(self,htmlurl):#dianping().get_html_test(htmlurl)#print('--------------------')cturl,ctname,ctaddr=dianping().get_ct_url(htmlurl)#mysql=Mysqls()n=1for u in ctname[1:]:try:print(htmlurl,cturl[n],u,ctaddr[n])names,addrs,phones=dianping().get_ct_info(cturl[n])print(names,addrs,phones)#sqls="insert into  tongji_user_pinglun (ctid,ctname,ctarea,source_url,username,content,cttms) values(%s,'%s','%s','%s','%s','%s','%s');"#mysql.cmd(sqls%(ctid,names,ctarea,htmlurl,u,datas[n],tms[n]))#mysql.commit()except:print('F',u)n=n+1time.sleep(1)#mysql.close()##==============================================================================================================if __name__ =="__main__":url='http://dpindex.dianping.com/dpindex?type=rank&p='for i in range(1,51):print(url+str(i))dianping().run('http://dpindex.dianping.com/dpindex?type=rank&p=1')#dianping().get_ct_info('http://www.dianping.com/shop/4708533')pass

转载于:https://my.oschina.net/jk409/blog/659108

bs4抓起大众点评的用户评论相关推荐

  1. 针对大众点评网上商铺评论字体替换反爬的反反爬

    针对大众点评网上商铺评论字体替换反爬的反反爬 字体替换的反爬,在之前网站出现过,如淘宝.猫眼等.但是主要针对于数字字体替换,由于数字就十个,完全可以手动分析字体文件,找出编码与数字的关系.但是,大众点 ...

  2. Python爬虫大众点评字体加密评论采集!听说这个网站很难?

    前序 最近在研究反爬虫策略,写了一个大众点评评论采集的程序,途中遇到了一些坑有感而发分享给大家, 大众点评是基于css机制实现的字体加密技术来阻碍我的进行准确数据的抓取 正文 图1 根据图1我们可以看 ...

  3. 大众点评有多少用户2019_2019上半年火爆大众点评的这15家店,你打卡过几家?...

    在成都,这家是必须去吃一次的火锅,曾经创造了"单日排队15小时奇迹".巴蜀大将从视觉.听觉.味觉各个方面尽显三国巴蜀风情,可谓是用心良苦啊! 地址:通祠路28号 人均:95元 0 ...

  4. 看准网点评没有了_大众点评“亡”于2020

    2020年9月11日,美团点评发布公告,决定将名称简化为美团,生效日期为9月30日.美团与大众点评惊天大合并的五年之后,美团终于撕下了点评这张脸皮. 很多人说点评没有熬过"七年之痒" ...

  5. python爬虫实战---爬取大众点评评论

    python爬虫实战-爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多 ...

  6. 大众点评网公正性受质疑 被指评论常无故被删

    近日,记者接到来自宝山区瞿小姐的电话,称其刚开张的一家料理店受到大众点评网用户的恶意点评,却投诉无门.有意思的是,这个差评时间恰巧是瞿小姐与大众点评网宣传合作即将结束的时候出现的.与此同时,近期,记者 ...

  7. 基于snownlp及朴素贝叶斯的情感分析——以大众点评网评论为例

    「情感分析」是对带有感情色彩的主观性文本进行分析.处理.归纳和推理的过程.按照处理文本的类别不同,可分为基于新闻评论的情感分析和基于产品评论的情感分析.其中,前者多用于舆情监控和信息预测,后者可帮助用 ...

  8. 看不懂别做爬虫-----python爬虫实战---大众点评评论

    python爬虫实战-爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 2.分析网页 查看到下面有些字体经过加密处理 刷新页面会发现 每一次加密的字体是不一样的 3.发送请求获取数据 查看网 ...

  9. Python3 实现大众点评网酒店信息和酒店评论的网页爬取

    **作者:**Mr. Ceong 链接:http://blog.csdn.net/leigaiceong/article/details/53188454 Python3 实现大众点评网酒店信息和酒店 ...

最新文章

  1. 4.10日一直报错application未注入的问题解决
  2. 医院数据中心机房建设资料汇总(31篇)
  3. MAC下的反编译、反汇编和调试神器Hopper Disassembler
  4. 1. 训练集、开发集、测试集(Train/Dev/Test sets)
  5. redis一般缓存什么样数据_Redis缓存和MySQL数据一致性方案详解
  6. c++中获取蓝图组件_蓝图C++混合编程
  7. 1Boost之TCP,Client and Server
  8. 无线网卡的Master,Managed,ad-hoc,monitor等模式
  9. 【原】StreamInsight 浅入浅出(四)—— 例子
  10. 子网与子网掩码的介绍
  11. [深度学习-实践]tensorflow_hub简单理解模型的生成与加载
  12. 6个原则、50条秘技提高HTML5应用及网站性能
  13. tp5 MySQL发红包功能_ThinkPHP5微信现金红包的开发
  14. 7-3 寻找大富翁 (50分)
  15. 4.9冰箱的温度c语言,话说夏天冰箱温度调到多少度为最佳?
  16. construct the binary tree.
  17. 常见的短信群发平台,短信群发平台分类
  18. CSDN怎么改变字体颜色
  19. RF:Robot命令行工具帮助文件中文译版(个人翻译)
  20. FFmpeg内存管理

热门文章

  1. EasyX识别不到VC++6.0
  2. python知识:string.format()函数详解
  3. python sub 不区分大小写_Python网络爬虫入门篇
  4. 嗅觉计算机应用,重磅!美国科技巨头宣布!计算机终于有了“嗅觉”了!
  5. 检测电脑硬件的软件_为电脑DIY爱好者推荐一款非常实用的硬件测试软件
  6. Matlab-实时编辑器介绍
  7. i2c Linux 动态 波特率,如何在Linux中设置i2c总线的波特率?
  8. hibernate mysql 模糊查询_服务器-hibernate操作mysql,模糊查询时中文查不到,数字和英文可以查到...
  9. python代码图片头像_Python帮你微信头像任意添加装饰别再@微信官方了
  10. vba单元格批量赋值_Excel●VBA●如何把批注中的信息批量提取到单元格?