爬取携程信息

标签: geek | 发表时间:2018-05-09 00:00 | 作者:
出处:http://itindex.net/relian
# -*- coding: utf-8 -*-
"""
Created on Mon May  7 15:18:17 2018

@author: chens
"""

import urllib.request
from bs4 import BeautifulSoup
import pymysql.cursors
'''
目标:获取酒店名称和酒店星级
'''
url1 = 'http://hotels.ctrip.com/hotel/435383.html'

html1 = urllib.request.urlopen(url1).read().decode('utf-8')

#1.获取酒店名称信息
soup_name = BeautifulSoup(html1,'lxml')

hotelName = soup_name.h2.string
print("酒店名称为:{}".format(hotelName))


#2.获取酒店星级信息
result_star = soup_name.find_all(attrs={"class":"grade"})

#print(result1)
result_star =str(result_star)

soup_star = BeautifulSoup(result_star,'lxml')

result_star = soup_star.find_all('span')
hotelStar = result_star[0]['title']
print("酒店星级为:{}".format(hotelStar))

'''
目标:获取酒店最低房价和评论总数
'''
url2 = "http://m.ctrip.com/html5/hotel/HotelDetail/435383.html"

html2 = urllib.request.urlopen(url2).read().decode('utf-8')

soup_comment = BeautifulSoup(html2,'lxml')
#评论总数
result_comment = soup_comment.find_all(attrs={"class":"hd js_comment_title"})
result_comment = str(result_comment)
soup_comment = BeautifulSoup(result_comment,'lxml')
commentCounts = soup_comment.find_all('em')[1].string
print("评论总数为:{}".format(commentCounts))


'''
目标:获取酒店卫生评分、环境评分、服务评分、设施评分、用户推荐比、用户评分、评价内容
'''

url3 = 'http://m.ctrip.com/html5/hotel/HotelDetail/dianping/435383.html'

html3 = urllib.request.urlopen(url3).read().decode('utf-8')

soup_grades = BeautifulSoup(html3,'lxml')

#获取酒店各项评分数据
result_grades = soup_grades.find_all(attrs={"class":"ve-txt"})
result_grades = str(result_grades)
soup32 = BeautifulSoup(result_grades, 'lxml')

result33 = soup32.find_all('em')
userRecommendRate = result33[0].string
hRating = result33[1].string
eRating = result33[2].string
sRating = result33[3].string
iRating = result33[4].string

print("用户推荐为:{}".format(userRecommendRate))
print("卫生评分为:{}分".format(hRating))
print("环境评分为:{}分".format(eRating))
print("服务评分为:{}分".format(sRating))
print("设施评分为:{}分".format(iRating))


#提取用户评论数据



for i in range(0,10):
    
    result_pf = soup_grades.find_all(attrs={"class":"g-ve"})
    userRating = result_pf[i].string
    print("评分为:{}".format(userRating))
    
    
    #userName = result35[i].get_text()
    result_data = soup_grades.find_all(attrs={"class":"tree-ellips-line6"})
    commentText = result_data[i].get_text()
    print("评论内容为:{}".format(commentText))


'''
    数据库操作
'''

#获取数据库链接
connection  = pymysql.connect(host = 'localhost',
                          user = 'root',
                          password = 'root',
                          db = 'xiecheng',
                          charset = 'utf8mb4')
try:
    #获取会话指针
    with connection.cursor() as cursor:
        #创建sql语句
        sql = "insert into `macro-polo` (`hotelName`,`hotelStar`,`commentCounts`,`userRecommendRate`,`hRating`,`eRating`,`sRating`,`iRating`,`userRating`,`commentText`) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"

        #执行sql语句
        cursor.execute(sql,(hotelName,hotelStar,commentCounts,userRecommendRate,hRating,eRating,sRating,iRating,userRating,commentText))

        #提交数据库
        connection.commit()
finally:
    connection.close()

相关 [携程 信息] 推荐:

爬取携程信息

- - IT瘾-geek
print("评分为:{}".format(userRating)). print("评论内容为:{}".format(commentText)) '''. 数据库操作 ''' #获取数据库链接 connection = pymysql.connect(host = 'localhost',.

关于携程的信用卡信息泄露

- - 博客园_新闻
可能很多朋友比较关心昨天乌云爆出的携程信用卡信息泄露的漏洞. 具体过程我就不赘述了,因为明天肯定是铺天盖地的新闻. 媒体是不会放过这样的机会的,虽然他们可能并不了解真正发生了什么. 但媒体的动作却放大了这件事情的负面效应,不知道明天携程的股价会不会因此受影响. 这次的事件很多评论文章都没有提到 PCI-DSS 标准,其实通过这个简单的维度就可以判断哪篇评论靠谱,哪篇不靠谱.

信息架构

- Michael - Tony-懒得设计
写几篇关于信息架构的文章,系统地输出我理解的信息架构. 发了一篇关于招信息架构实习生的博客,收到不少简历. 但谈起信息架构,多数不了解,稍微了解的扯了很多很偏的东西. 随手搜索了一下,我发现了原因:. 1 《web信息架构》这本书太概念,太学术. 2 有人绑架了“信息架构”这个词,拿出去唬人,内容都是皮毛或者是根本和信息架构不沾边的东西.

信息茧房

- - 云风的 BLOG
最近一个月,无论我打开推特,还是微博豆瓣,每天都被“徐州八孩母亲事件”刷屏. 在公司吃工作餐的时候,也和同事聊过这个事件. 从我的角度看,此事的热度之高,持续时间之久,近年罕见. 能读到我的 blog 这一篇的同学,相信都对这件事的来龙去脉不会太陌生. 如果你不了解,那么 google 一下“徐州八娃女”或是“丰县铁链女” 就能找到很多信息.

“携程们”的危机

- - 派代网 - 资讯
今年的在线旅游市场,热度绝对不逊于电子商务的任何一个领域. 继6月份艺龙、芒果网、酷讯网和途牛网等在线旅游网站陆续推出“返利促销”优惠活动之后,在线旅游行业老大携程也加入了这场混战:7月6日,携程宣布投入5亿美元(约合32亿元人民币)开展低价促销,促销活动从7月起持续一年时间,涉及酒店、机票和旅游门票等,并宣称此次促销将“拉开国内在线旅游业以价格战为前奏的洗牌大幕”.

免费VPN信息

- 勇 - iGFW
免费试用2天的pptp pn和openvpn. 免费美国pptp vpn帐号. 服务器 199.119.203.166 用户名 vpn 密码 1q2w3e. PageRank为 1及以上的网站,发文介绍此VPN即可得到免费一年的pptp vpn服务,如果再完成其指定的五步操作可获终身免费帐号. Trial accounts have some limitations like you can only use our single demo server, 200mb of bandwidth usage everyday(6GB/Month), some websites are blocked.

Oracle 统计信息

- - 数据库 - ITeye博客
--Oracle 优化器统计信息 Oracle优化器统计信息描述了关于数据库和相关对象的统计信息,当执行SQL查询时,优化器会使用这些统计信息估算出各种不同的执行计划的资源消耗, ,从而选择最高效的执行计划. 当统计信息缺失或者陈旧时,Oracle可能会选择错误的执行计划,导致SQL执行效率低下.

Java 类型信息

- - CSDN博客移动开发推荐文章
*  为什么需要运行时识别对象和类的信息. 多态 - 实例都被向上转型为父类引用,实例调用相应方法时,需要知道当前父类型引用的具体类型,并从中查找相应方法. IDE - 获取任意类的所有字段和方法.  跨网络的远程平台上创建和运行对象的能力. 从磁盘文件,或者网络连接中获取一串字节(表示类). * 运行时识别对象和类的信息的两种方式:.