selenium自动化爬取携程酒店信息

重要提醒!!!!
携程反爬太强了,用自动化爬取,其他的数据都正确。唯独价格不正确!!!价格是携程随机生成的,不是正确的价格!

当前进度:

已完成搜索目的地,但无法解决携程需要登录才能查看酒店价格,即无法绕过登陆 想办法解决中 2021/2/5
还是无法绕过登陆,只能手动扫码登陆,并且在点击酒店详情后会跳出新的界面,要将driver定位到新的界面上,酒店详情还不能全部获取,后续要想办法将所有的酒店详情全部获取到 2021/2/16
可以获取各个酒店的详细信息,但是目前打开酒店的数量不确定,后面要解决打开酒店数量的问题。最重要的打开酒店的速度太慢了,打开一个酒店大概需要40多秒,也就是说如果爬取30个酒店,那么就需要近20分钟,效率太低,但爬的快了又会有被封ip的风险。 后面还要把代码分块处理,写到一块太乱了,不便于管理。还要把数据储存到mysql中,但这个我不会,要现学,可能会时间长一些。LOL代币才肝了1600个,太少了,至臻佐伊再不换下次就不知道啥时候了,熬夜淦!2021/2/17
解决了网页加载等待过长的问题 2021/2/17
家中有事,请假10天,果然在家学习效率太低了。
可以将爬下来的数据添加到mysql数据库中了,但是现在效率还是太低,而且有封ip的危险,所以还要解决一下。代码没有分块,接下来把代码分块,美观且方便管理,不会用scrapy,不然更方便。开学了,加油!2021/3/1
出现了奇奇怪怪的问题,不知道为啥,比如复制粘贴到新的py中就无法运行,显示AttributeError: ‘NoneType’ object has no attribute ‘send_keys’,只好自己重新将send_keys重新打一边,然后就可以运行了,还有其他奇奇怪怪的问题,我太难了,在bug中改代码。加入了数组,一次可以查一个省了2021/3/2

代码


# -*- coding = utf-8 -*-
# @Time : 2021/3/3 13:54
# @Author : DLT
# @File : xiecheng1.py
# @Software : PyCharm

import pymysql as pymysql
from selenium import webdriver
from time import sleep
import re
from selenium.webdriver import DesiredCapabilities
from selenium.webdriver.common.keys import Keys
if __name__ == '__main__':
    desired_capabilities = DesiredCapabilities.CHROME
    desired_capabilities["pageLoadStrategy"] = "none"
    driver = webdriver.Chrome(executable_path='chromedriver.exe')  # 打开浏览器
    driver.get('https://www.ctrip.com/')  # 打开网站
    sleep(3)
    # driver.refresh() #刷新浏览器
    '''进入携程主页'''
    #首先登陆
    '''需要手机扫码登陆,手动登录也可以,但是速度太慢'''
    sign_in = driver.find_element_by_class_name("set-text").click()
    sleep(13)  # 8秒时间扫码
    sleep(1)
    #登陆成功后,页面跳转到搜索页面
    # hotel = driver.find_element_by_id("nav_hotel")  # 寻找酒店搜索
    # hotel.click()  # 点击
    # sleep(2)
    '''进入到酒店搜索页面之后'''
    hotel = driver.find_element_by_id("nav_hotel").click()  # 寻找酒店搜索
    # 1、输入目的地
    province = "河南"  # 省级

    citys= ["郑州", "开封", "洛阳", "平顶山", "安阳市", "鹤壁", "新乡", "焦作", "濮阳", "许昌", "漯河", "三门峡", "商丘", "周口", "驻马店", "南阳", "信阳"]
    countys = [
        ["中原区", "二七区", "金水区", "惠济区", "管城区", "上街区", "巩义市", "新郑市", "登封市", "荥阳市", "新密市", "中牟县"],
        ["龙亭区", "鼓楼区", "禹王台区", "顺河区", "祥符区",<
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值