import urllib.request
import requests
import demjson
import pymysql
import re
from bs4 import BeautifulSoup
def remove_emoji(comment,restr=’’):
#过滤表情
try:
co = re.compile(u’[\U00010000-\U0010ffff]’)
except re.error:
co = re.compile(u’[\uD800-\uDBFF][\uDC00-\uDFFF]’)
return co.sub(restr, comment)

conn=pymysql.connect(host=‘localhost’,

user=‘root’,

password=‘123’,

db=‘test’,

charset=‘utf8’

)

cursor = conn.cursor()

cursor.execute(“DROP TABLE IF EXISTS comment”)

sql = “”“CREATE TABLE comment(name char(25),分数 char(110),评价 text(10000),日期 char (25) )”""

cursor.execute(sql)

url = ‘http://hotel.elong.com/ajax/tmapilist/asyncsearch’
header ={‘Accept’:‘application/jsontext/javascript, /; q=0.01’,
‘Accept-Encoding’:‘gzip, deflate’,
‘Accept-Language’:‘zh-CN,zh;q=0.9’,
‘Connection’:‘keep-alive’,
‘Content-Length’:‘1665’,
‘Content-Type’:‘application/x-www-form-urlencoded; charset=UTF-8’,
‘Host’:‘hotel.elong.com’,
‘Origin’:‘http://hotel.elong.com’,
‘Referer’:‘http://hotel.elong.com/hangzhou/’,
‘User-Agent’:‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36’,
‘X-Requested-With’:‘XMLHttpRequest’,
‘cookie’:‘CookieGuid=ab7f1877-dfda-4882-b9c8-6116d3a41166; s_eVar44=brand360sem; fid=e607b469-3334-454a-90ef-e7282f7a4a45; __guid=206901770.676507428123648000.1541419138672.057; SHBrowseHotel=cn=91450084%2C%2C%2C%2C%2C%2C%3B92375725%2C%2C%2C%2C%2C%2C%3B21201436%2C%2C%2C%2C%2C%2C%3B&; ShHotel=CityID=1201&CityNameCN=%E6%9D%AD%E5%B7%9E%E5%B8%82&CityName=%E6%9D%AD%E5%B7%9E%E5%B8%82&OutDate=2018-11-09&CityNameEN=hangzhou&InDate=2018-11-08; SessionGuid=da5a119d-ff37-4b56-8f62-5b9b0615858a; Esid=59a9e2d7-1b62-4aa6-a390-56a3f43613c3; semtcid=cd67cc75-c72d-42a7-a755-180e4d22f6e9; semid=brand360sem; outerFrom=brand360sem; com.eLong.CommonService.OrderFromCookieInfo=Status=1&Orderfromtype=1&Isusefparam=0&Pkid=50792&Parentid=4300&Coefficient=0.0&Makecomefrom=0&Cookiesdays=0&Savecookies=0&Priority=9001; fv=pcweb; ext_param=bns%3D4%26ct%3D3; s_cc=true; s_visit=1; newjava2=0b48025058222f4e0d14b79dbc0d2df5; JSESSIONID=B97F1B21A3B60E349023A0C13129345D; anti_token=42126823-FBE1-4301-8FE6-50A6812CF3D5; __tctmb=0.2119295649609267.1541672954728.1541672954728.1; __tccgd=0.0; __tctmc=0.136017320; monitor_count=37; s_sq=elongcom%3D%2526pid%253Dhotel.elong.com%25252Fhangzhou%2526pidt%253D1%2526oid%253Djavascript%25253Avoid(0)%2526ot%253DA; __tctmd=0.1’
}
for i in range(1,10):
data = {‘code’:‘8999595’,
‘listRequest.pageIndex’: i,
‘listRequest.pageSize’:‘20’,
‘listRequest.cityName’: ‘杭州市’,
}
#print(data[‘listRequest.pageIndex’])
html = requests.post(url, data=data, headers=header)
text = html.json()[‘value’][‘hotelIds’]
text = text.split(’,’)
text1 = html.json()[‘value’][‘hotelListHtml’]
soup = BeautifulSoup(text1, ‘html.parser’)
hotelname = soup.find_all(‘img’)
# print(hotelname)
for k in hotelname:
f = open(k[‘alt’]+’.txt’,‘a+’,encoding=‘UTF-8’)
for a in text:
print(a)
for i in range(1, 10):
url1 = 'http://hotel.elong.com/ajax/comment/getcommentbypage/?hotelId=’+a+’+&recommendedType=1&pageIndex=’+str(i)+’&mainTagId=0&subTagId=0&rankType=0&eToken=e607b469-3334-454a-90ef-e7282f7a4a45&code=7051534&
=1541673964193’
headers = {‘Accept’:‘application/json, text/javascript, /; q=0.01’,
‘Accept-Encoding’:‘gzip, deflate’,
‘Accept-Language’:‘zh-CN,zh;q=0.9’,
‘Connection’:‘keep-alive’,‘Host’:‘hotel.elong.com’,
‘Referer’:‘http://hotel.elong.com/21201502/’,
‘User-Agent’:‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36’,
‘X-Requested-With’:‘XMLHttpRequest’}
html1 = requests.get(url1, headers=headers)
for o in range(20):
name = html1.json()[‘value’][‘Comments’][o][‘CommentUser’][‘NickName’]
name = remove_emoji(name,restr=’’)
f.write(‘name’+’\n’)
print (name)
comment = html1.json()[‘value’][‘Comments’][o][‘Content’]
comment = remove_emoji(comment,restr=’’)
f.write(‘comment’+’\n’)
print(comment)
time = html1.json()[‘value’][‘Comments’][o][‘createTimeString’]
f.write(‘time’+’\n’)
print(time)
score = html1.json()[‘value’][‘Comments’][o][‘Source’]
f.write(‘score’+’\n’)
print(score)
# cursor.execute(“INSERT INTO comment(name,分数,评价,日期) VALUES (’%s’,’%s’,’%s’,’%s’);” % (name,score,comment,time))
# conn.commit()
# conn.close()
学习总结:
1.由于艺龙网站都是动态网页,所以爬的内容不再在原来的HTML网页中了;
2.在该任务中,学会了用get与post获取内容

爬取艺龙网站酒店评论+相关推荐

  1. python爬取b站评论_学习笔记(1):写了个python爬取B站视频评论的程序

    学习笔记(1):写了个python爬取B站视频评论的程序 import requests import json import os table='fZodR9XQDSUm21yCkr6zBqiveY ...

  2. python爬b站评论_学习笔记(1):写了个python爬取B站视频评论的程序

    学习笔记(1):写了个python爬取B站视频评论的程序 import requests import json import os table='fZodR9XQDSUm21yCkr6zBqiveY ...

  3. 简单的爬取B站视频评论

    2019年12月20日15:14:09补充: 这篇博客为刚学爬虫的一个简单实践,主要使用到的为selenium模拟点击 补充说明的主要原因是有小伙伴问我评论提取的相关问题,这里统一回复一下 最简单的办 ...

  4. 年轻小伙竟用python爬取B站视频评论!

    大家好,我是啃书君. 今天为大家带来的小demo是爬取B站视频的评论.开始还以为很难,等正真上手的时候发现,也就是那么回事. 高考对于每个人来说都是人生的重大转折点,你考上一所什么样的大学,极大可能改 ...

  5. python携程酒店评论_Python基于selenium爬取携程酒店评论信息

    爬取站点 任意一个携程酒店的详细链接,这里给出了四个,准备开四个线程爬取: https://hotels.ctrip.com/hotel/6278770.html#ctm_ref=hod_hp_hot ...

  6. 爬取b站视频评论用户信息!这些评论的才是大神!

    最近马保国老师在b站挺火的,关于他的视频播放量很高,b站视频评论区都是人才说话好听,写个爬虫爬取一下b站评论区用户信息和评论内容. 一.准备工作 1.工具 (1)Chrome 谷歌浏览器 安装地址:h ...

  7. python3网络爬虫--爬取b站视频评论用户信息(附源码)

    文章目录 一.准备工作 1.工具 二.思路 1.整体思路 2.爬虫思路 三.分析网页 1.分析网页加载方式 2.分析数据接口 3.获取oid 四.撰写爬虫 五.存储数据 六.总结 你爱我,我爱你,蜜雪 ...

  8. python爬携程酒店评论_python爬虫爬取携程网的酒店评论数据时,有个请求参数不知道是怎么生成的?...

    是下面这个代码生成的,看不懂: ,_getElevenValue:function(e){ function o(e){ for(var o=["A","B", ...

  9. python爬取携程酒店评论_python爬取携程酒店列表

    做个笔记,亲测可用 ```python import requests import json from lxml import etree from bs4 import BeautifulSoup ...

最新文章

  1. Node.js前置知识点(二):同步/异步
  2. Windows Phone开发(37):动画之ColorAnimation
  3. Linux下启动和关闭Oracle数据库的方法
  4. 变阻尼汽车悬架振动自适应控制方法分析
  5. SQL Server之索引
  6. python求1到n的乘积_Python实现矩阵相乘的三种方法小结
  7. JavaScript学习总结(5)——Javascript面向(基于)对象编程
  8. Windows下Github使用
  9. 谷歌浏览器 flash_Chrome 76测试版默认禁用Flash 用户可避开更多付费页面
  10. python语法学习第九天--else和with语句
  11. hbase常识及habse适合什么场景
  12. 应用程序热补丁(二):自动生成热补丁
  13. 三维全景地图是怎么实现的?三维全景图制作教程
  14. 机顶盒怎样配置服务器信息,网络机顶盒桌面配置服务器
  15. 聊聊CMSIS-RTOS是什么东东
  16. 顶级域名(一级域名)、二级域名、三级域名的区别与介绍
  17. 历年(2015-2018)英语六级翻译真题及参考答案
  18. 屏幕正中间浮窗html,HTML 纯css浮窗居中和打开or关闭
  19. 2018大数据就业前景怎么样
  20. PHP7.0 的新特性

热门文章

  1. python调用exe程序 传入参数_python运行带参数传入的exe文件
  2. 【Linux】CentOS7下安装Ngnix代理服务器详细过程 附Linux 64位 Ngnix压缩包百度云盘分享
  3. php写彩票中奖代码,php实现自定义中奖项数和概率的抽奖函数示例
  4. java计算机毕业设计鞋店销售管理源码+数据库+系统+lw文档+mybatis+运行部署
  5. 为什么在飞机上看云,感觉飞机速度慢?
  6. 在linux下让php支持mssql,WIN和LINUX下PHP连接mssql的方法
  7. 一个电商管理系统的实现
  8. 网页版滑动验证码+短信验证码(史上最全版)
  9. Java的垃圾回收机制、年轻代与老年代
  10. Word插入表格相邻单元格边框断开方法