项目需要用到数据,在网上找了好久的数据都没有结果,就自己写了爬虫。没咋写过程序,为了简单都没有用函数。中间遇见了不少问题,首先爬虫只能爬取前十条信息。为了解决这个问题,上网搜了一些信息。网上说动态网页抓取可以用selenium。于是按照书本和网上的教程安装了selenium和phantomjs。但是问题仍然没有解决,后来试了下用匿名ip的方法,失败。接着添加了模拟下拉网页的代码。成功获取了第一页的30条信息。接着想办法模拟翻页,找了几行代码结果就成功了。这样我就可以爬取某一天纽约所有酒店的信息了。然后考虑连续爬取30天的信息。这个部分想了好久

给一张艺龙选择日期的截图

本来以为可以模拟点击,但是搞了一会不行
然后发现了可以直接输入日期。模拟输入。不得不赞selenium的强大
下面是源代码,不想说太多话

# -*- coding: utf-8 -*-
from selenium import webdriver
#import urllib2
import time from bs4 import BeautifulSoup
#import urlparse
#service_args=['--proxy=127.0.0.1:9150','--proxy-type=socks5',]
datelist=['2017-4-4','2017-4-5','2017-4-6','2017-4-7','2017-4-8','2017-4-9','2017-4-10','2017-4-11','2017-4-12','2017-4-13','2017-4-14','2017-4-15','2017-4-16','2017-4-17','2017-4-18','2017-4-19''2017-4-20','2017-4-21','2017-4-22','2017-4-23','2017-4-24','2017-4-25','2017-4-26','2017-4-27','2017-4-28']
driver=webdriver.PhantomJS(executable_path=r'C:\Users\cimdy\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Anaconda2 (32-bit)\phantomjs')driver.get('http://ihotel.elong.com/region_178293/')
time.sleep(2)
for date in datelist:driver.find_element_by_xpath("//input[@id='inDate']").send_keys(date)time.sleep(5) page=0hotels_inf=[]while page<=5:times=10for i in range(times + 1):driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")time.sleep(5)pageSource=driver.page_sourcehtml_content=BeautifulSoup(pageSource,'lxml')hotels=html_content.findAll('div',{'class':'h_item clearfix'})print len(hotels)for hotel in hotels:single_hotel_inf=[]if 'hotelname' in hotel.attrs:single_hotel_inf.append(hotel.attrs['id'])single_hotel_inf.append(hotel.attrs['commentcount'])single_hotel_inf.append(hotel.attrs['hotelprice'])single_hotel_inf.append(hotel.attrs['hotelname'])hotels_inf.append(single_hotel_inf) driver.find_element_by_xpath("//a[contains(text(),'下一页')]").click() # selenium的xpath用法,找到包含“下一页”的a标签去点击page = page + 1time.sleep(2) # 睡2秒让网页加载完再去读它的html代码with open(date+".txt","w") as f:for hotel_inf in hotels_inf:for hotel_attr in hotel_inf:print hotel_attrf.write(hotel_attr.encode('utf8')+' ')  f.write('\n')driver.get('http://ihotel.elong.com/region_178293/')time.sleep(2)
driver.close()

下面是运行结果展示

还有许多细节在程序里,比如自动存储文件,用字符串做了个list,遍历list

python爬虫爬取艺龙国际酒店信息相关推荐

  1. python爬虫爬取当当网的商品信息

    python爬虫爬取当当网的商品信息 一.环境搭建 二.简介 三.当当网网页分析 1.分析网页的url规律 2.解析网页html页面 书籍商品html页面解析 其他商品html页面解析 四.代码实现 ...

  2. python爬虫爬取大众点评店铺简介信息

    python爬虫爬取大众点评店铺简介信息 写作目的: 爬取目标 大众点评的保护机制 应对方法 还存在的问题 写作目的: 今天帮朋友一个忙,要爬取一些大众点评上的数据.结果发现大众点评的防爬机制还挺多的 ...

  3. Python爬虫爬取智联招聘职位信息

    目的:输入要爬取的职位名称,五个意向城市,爬取智联招聘上的该信息,并打印进表格中 #coding:utf-8 import urllib2 import re import xlwtclass ZLZ ...

  4. 【Python爬虫案例学习20】Python爬虫爬取智联招聘职位信息

    目的:输入要爬取的职位名称,五个意向城市,爬取智联招聘上的该信息,并打印进表格中 ####基本环境配置: Python版本:2.7 开发工具:pycharm 系统:win10 ####相关模块: im ...

  5. python爬虫爬取19楼相亲女信息

    最近在温习python爬虫知识,写了个简单的爬虫. 能爬取500页相亲女的信息 #coding=utf8 import requests import re import xlrd import xl ...

  6. 简单使用Python爬虫爬取淘宝网页商品信息

    最近在学习爬虫,本人还是入门级的小白,自己跟着老师写了一些代码,算是自己的总结,还有一些心得,跟大家分享一下,如果不当,还请各位前辈斧正. 这是代码: # 导入库 import requests im ...

  7. python爬虫爬取链家网房价信息

    打开链家网页:https://sh.lianjia.com/zufang/  :用F12以页面中元素进行检查 <a target="_blank" href="/z ...

  8. 使用python爬虫爬取卷皮网背包信息实例

    使用requests和BeautifulSoup实现对卷皮网背包名称与价格的爬取 链接:www.juanpi.com 代码: import requests import re from bs4 im ...

  9. Python 爬虫 爬取安智网应用信息

    2019独角兽企业重金招聘Python工程师标准>>> 爬取目标网站安卓应用的信息,爬取分类.更新时间.系统要求.下载量以及下载链接等描述信息 http://www.anzhi.co ...

最新文章

  1. 坑爹的微软官方文档:SQL无人值守安装
  2. MOPSO 多目标粒子群优化算法
  3. Opencv 学习笔记之——鼠标操作画出感兴趣区域
  4. windows下安装配置mongodb
  5. fcn网络训练代码_用FCN做分割
  6. jquery file upload 后台收到的文件名中文乱码, filename中文乱码
  7. win10一按右键就闪屏_升级Win10正式版后屏幕一直闪烁正确的解决办法
  8. linux unshare 命令,详解Linux Namespace之User
  9. oracle安装时配饰失败了,【求助】急!!!!oracle客户端安装时创建实例失败
  10. 2011-2020年中国新经济十年回顾研究报告
  11. python typing typescript_typescript
  12. 查找java实现_常见查找算法Java实现
  13. Maxwell 一款简单易上手的实时抓取Mysql数据的软件
  14. 路由器内部到底是啥结构?不懂就不算网工人
  15. 上网日志留存_中国移动5G上网日志留存系统招标:最高投标总限价10亿元
  16. mysql查询字段最大的一条数据类型_SQL查询一个表中类别字段中Max()最大值对应的记录...
  17. 如何写出真正触动人心的广告文案(二)
  18. 令程序员泪流满面的瞬间
  19. 2011年养成的一个工作习惯
  20. 框架学习:框架是什么以及框架怎么学

热门文章

  1. 微信小程序服务类目大全及资质要求
  2. 计算机应用水平测试app,全国职称计算机应用能力考试宝典
  3. 2000亿贴息贷款医疗新基建跟踪:听听公立三级医院院长的心声
  4. 免费的网课API接口附加实例
  5. 日本独立站流量攻略大起底,捞金全球第三大电商市场!
  6. android gphone 论坛,Android-Gphone 手持设备区暂行版规
  7. 5. 统计各年龄段的人数。
  8. linux网络状态 4g模块,Linux手动识别4G模块
  9. ucsi_acpi USBC000:00: PPM init failed
  10. 新版Zblog主题仿小K网老版资源网模板源码