问 题

最近在学习selenium,遇到一个很奇怪的问题,debug了半天还是没弄明白,我是在测试抓取携程网站的机票信息

我的代码:

# -*- coding: utf-8 -*-

from selenium import webdriver

import time

from lxml import etree

#在订票页面http://flights.ctrip.com/

driver = webdriver.Chrome()

driver.get('http://flights.ctrip.com/')

time.sleep(1)

element_time = driver.find_element_by_id('DepartDate1TextBox')

element_time.send_keys(u'2016-07-22')

element_arr = driver.find_element_by_id('ArriveCity1TextBox')

element_arr.send_keys(u'北京')

element_depart = driver.find_element_by_id('DepartCity1TextBox')

element_depart.send_keys(u'南京')

driver.find_element_by_id('search_btn').click()

#点击click事件后,页面其实是跳转到http://flights.ctrip.com/domestic/Search/FirstRoute/?DCity1=NKG&ACity1=BJS&DDate1=2016-07-22

time.sleep(1)

print driver.current_url

#点击重新搜索

driver.find_element_by_id('btnReSearch').click()

print driver.current_url

for i in range(3):

js = 'window.scrollTo(0,100000)'

time.sleep(1)

driver.execute_script(js)

time.sleep(1)

html_text = driver.page_source

selector = etree.HTML(html_text)

outer_div = selector.xpath('//div[@class="search_box search_box_tag "]')

driver.quit()

print outer_div

然后就是我对这小块代码的调试时

发现得到的结果

是一致的,但是,但是,当我再次debug时,或者运行时

发现取不到数据,经过很多次测试,发现一半时候取到,一半时候取不到,后面我去掉driver.quit()调试发现

同样的url,但是div出现2个不一样的,导致抓取不到,所以我很奇怪为什么会出现这种问题

解决方案

使用selector.xpath('//div[contains(@class,"search_box search_box_tag")]')试试?

扫一扫关注IT屋

微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起

python爬取携程网游记_网页爬虫 - 用python selenium抓取携程信息相关推荐

  1. python爬关键词百度指数_详解python3百度指数抓取实例

    百度指数抓取,再用图像识别得到指数 前言: 土福曾说,百度指数很难抓,在淘宝上面是20块1个关键字: 哥那么叼的人怎么会被他吓到,于是乎花了零零碎碎加起来大约2天半搞定,在此鄙视一下土福 安装的库很多 ...

  2. python爬取b站评论_Python爬虫框架:scrapy抓取B站博人传评论数据

    1. B站博人传评论数据爬取简介 今天想了半天不知道抓啥,去B站看跳舞的小姐姐,忽然看到了评论,那就抓取一下B站的评论数据,视频动画那么多,也不知道抓取哪个,选了一个博人传跟火影相关的,抓取看看.网址 ...

  3. Python学习笔记 第二部分 - 正则表达式 与 爬虫小实例(抓取豆瓣电影中评分大于等于8分的影片)...

    一.正则表达式 python正则常用的函数和方法 compile(pattern,flags=0)        对正则表达式pattern进行编译,flags是可选标识符,并返回一个regex对象 ...

  4. java 抓取搜狗微信_搜狗微信公众号文章抓取

    机器能做的事就别让人来做! 目标: 抓取特定微信公众号文章 思路:利用selenium模拟浏览器行为,进行抓取(理由:搜狗已将文章链接进行处理,且页面为动态生成) 框架: 步骤: 1.登录搜狗 a.找 ...

  5. python算法详解豆瓣_豆瓣爬虫实践-python版

    豆瓣登录,无验证码版: import requests #starturl = "https://www.douban.com/accounts/login" loginurl = ...

  6. python爬虫beautifulsoup爬当当网_Python爬虫包 BeautifulSoup 递归抓取实例详解_python_脚本之家...

    Python爬虫包 BeautifulSoup  递归抓取实例详解 概要: 爬虫的主要目的就是为了沿着网络抓取需要的内容.它们的本质是一种递归的过程.它们首先需要获得网页的内容,然后分析页面内容并找到 ...

  7. Python爬虫:利用JS逆向抓取携程网景点评论区图片的下载链接

    Python爬虫:利用JS逆向抓取携程网景点评论区图片的下载链接 1. 前言 2. 实现过程 3. 运行结果 1. 前言 文章内容可能存在版权问题,为此,小编不提供相关实现代码,只是从js逆向说一说到 ...

  8. Python爬虫实战六之抓取爱问知识人问题并保存至数据库

    大家好,本次为大家带来的是抓取爱问知识人的问题并将问题和答案保存到数据库的方法,涉及的内容包括: Urllib的用法及异常处理 Beautiful Soup的简单应用 MySQLdb的基础用法 正则表 ...

  9. 系统检测到您正在使用网页抓取工具_【安全】58反抓取简介

    0x00 介绍 网络爬虫,常又被称呼为Spider,网络机器人,主要模拟网络交互协议,长时间,大规模的获取目标数据. 普通爬虫会从网站的一个链接开始,不断收集网页资源,同时不断延伸抓取新获取的URL以 ...

最新文章

  1. python Matplotlib.pyplot 如何绘制三维折线图, 散点图, 线框图, 表面图, 柱状图, 箭头图, 2D转3D图, 文本图, 3D拼图, 网状图, 直方图, 角面片图, 条状图?
  2. anacoda里面安装包显示失败_VScode离线安装插件,以及安装插件失败问题
  3. 微软新浏览器_要超越Chrome?微软新发布的这款浏览器,有翻天覆地的变化!
  4. MariaDB通过命令行的方式导出指定数据库和还原指定数据库
  5. 240多个jquery插件
  6. ExtJS4.2 menu鼠标移开隐藏
  7. 一文搞懂MySQL-8.0 redo优化
  8. linux tensorflow demo_独家 | 在浏览器中使用TensorFlow.js和Python构建机器学习模型(附代码)...
  9. html5 dom 结构,HTML5 DOM扩展
  10. 推导pca的降维损失_这应该是最全的PCA原理总结了(上)
  11. MariaDB安装教程(保姆级)
  12. 异地恋?我做了一个恋爱积分器
  13. 如何解除计算机上的安全警报,怎么关闭windows的安全警报
  14. 写在2021年的尾巴
  15. Kunbernetes从私有仓库nexus拉取镜像
  16. mt950报文解析_MT9**报文学习
  17. Jvav常问面试题(附解析)
  18. Echarts - legend、tooltip、xAxis属性设置
  19. 【征稿】第三届电子、信息与计算技术前沿国际会议(ICFEICT 2023)
  20. 爪哇国新游记之十五----泛型动态数组类

热门文章

  1. 曲线救国?5G手机救不了智能手机市场
  2. 虹软校招笔试题--算法岗
  3. 【IDOC】-IDOC常用事务码及功能简单解释
  4. 基于深度学习技术的电表大数据检测系统
  5. 福光电子蓄电池测试仪软件,IDCE-2415CT高压直流系统蓄电池容量测试仪-福光电子...
  6. 如何打包 zeit/micro 程序
  7. STM32学习100步之第四十七-四十八步——旋转编码器驱动程序
  8. 智能服装门店解决方案
  9. python爬微信朋友圈关键词_爬取朋友圈,Get年度关键词
  10. 什么是显微镜摄像头,以及显微镜摄像头的作用