一、问题说明
1、selenium库是爬虫过程中比较讨巧的一个第三方库,它能够跳过js、ajax等交互,上手比较容易。
2、基础代码是根据其他博主参考而来,但携程网站不断变化,除ID等不变的信息外,其余都已发生变化,因此,仔细对比之后,改进并编写了以下代码,发布于2021年10月19日。
3、如果出现报错,请尝试修改下面代码中 time.sleep()
函数参数。
4、要爬取自己想要的数据,只需修改出发地和到达地以及出发时间,另外注意修改浏览器驱动,本人用的是MicroSoft Edge,驱动到对应的网站下载,下载后要更名驱动并修改 driver_path
参数。
4、目前只是一个基础版本,后续可能会发布更新版,如加入直飞、中转、经停等个性化数据爬取。
5、代码只供学习参考,请勿商用!
二、代码
import time
from selenium import webdriver
from bs4 import BeautifulSoup
def page_select_function(driver_path):
driver = webdriver.Edge(executable_path=driver_path)
driver.get('https://www.ctrip.com/')
time.sleep(1)
driver.maximize_window()
input_tag_slect = driver.find_element_by_class_name('s_tab_nocurrent')
input_tag_slect.click()
time.sleep(1)
input_tag_time = driver.find_element_by_id('FD_StartDate')
i