楼主: Thanos123
843 2

[问答] selenium抓取数据问题 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

27%

还不是VIP/贵宾

-

威望
0
论坛币
917 个
通用积分
1.9500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1205 点
帖子
55
精华
0
在线时间
170 小时
注册时间
2016-4-26
最后登录
2024-4-22

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
想用selenium抓取去哪儿数据,结果死活定位不到xpath,以下是代码:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait #等待网页加载
from selenium.webdriver.support import expected_conditions as EC#用于指定网页加载结束的条件
from selenium.webdriver.common.by import By
import time
import random
driver = webdriver.Chrome()
dep_city= ['北京','上海']
arr_city=['杭州','苏州','济南']
for dep in dep_city:
    #print(dep)
    for arr in arr_city:
        #print(arr)
        driver.get('https://fh.dujia.qunar.com/?tf=package')
        WebDriverWait(driver,10).until(EC.presence_of_element_located((By.ID,'depCity')))
        #EC.present_of_element_located用于指定标志等待结束的DOM元素
        driver.find_element_by_xpath('//*[@id="depCity"]').clear() #用xpath属性来定位
        driver.find_element_by_xpath('//*[@id="depCity"]').send_keys(dep)
        driver.find_element_by_xpath('//*[@id="arrCity"]').send_keys(arr)
        driver.find_element_by_xpath('/html/body/div[2]/div[1]/div[2]/div[3]/div/div[2]/div/a').click()
        print('dep:%s arr:%s'%(dep,arr))
        time.sleep(random.uniform(2,4))
        for i in range(10):
            #WebDriverWait(driver,20).until(EC.presence_of_element_located((By.XPATH,'/html/body/div[2]/div[2]/div[7]/div[2]/div')))
            routes= driver.find_element_by_xpath('/html/body/div[2]/div[2]/div[7]/div[2]/div')
            for route in routes:
                result={
                    'data':time.strftime('%Y-%m-%d',time.localtime()),
                    'dep':dep,
                    'arr':arr,
                    'result':route.text
                }
                print(result)

结果如下:
QQ图片20171216220255.png QQ图片20171216220303.png
求各位大神解答



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Elen 抓取数据 ENI ele NIU

沙发
showmonki 在职认证  发表于 2017-12-17 06:43:27 |只看作者 |坛友微信交流群
错误在routes这里
routes= driver.find_elements_by_xpath('/html/body/div[2]/div[2]/div[7]/div[2]/div')
find_element后面加个s

使用道具

藤椅
Thanos123 发表于 2017-12-17 18:48:57 |只看作者 |坛友微信交流群
showmonki 发表于 2017-12-17 06:43
错误在routes这里
routes= driver.find_elements_by_xpath('/html/body/div[2]/div[2]/div[7]/div[2]/div' ...
貌似不是这个问题,而是我当时pc的网速和处理速度慢出现的,今天又试了下,好了

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 14:47