找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 4468|回复: 9

[求助] 请教各位大侠,怎样用webdriver爬取页面上的指定信息啊

6

主题

21

帖子

21

积分

贫民

积分
21
绿蔓青山 发表于 2018-7-11 17:00:47 | 显示全部楼层 |阅读模式
本帖最后由 绿蔓青山 于 2018-7-11 21:13 编辑

各位大侠,请教一个问题,
我现在在一个网页上面想要把制定的数据获取下来,比方说页面的可读信息是,
Distanz(距离): 215m, 我就想用webdriver自动这个215m爬取下来,然后导出。

请问应该怎么实现啊。





页面上的关于这个距离结果的代码如下



  1. <p id="routing_summary">Distanz: 215m. Zeit: 0:01.<br>Aufsteigend: 1m. Absteigend: 1m.</p>
复制代码
我只需要215m这个值,谢谢啦
截图我上传了。

网页的链接如下
https://www.openstreetmap.org/di ... 18/53.48532/9.14543



这是网页的截图



QQ图片20180711104647.png
QQ图片20180711105618.png

网页代码截图

网页代码截图
回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2018-7-12 09:44:44 | 显示全部楼层
本帖最后由 sheeboard 于 2018-7-12 09:46 编辑

from selenium import webdriver
import re

driver=webdriver.Firefox(executable_path='/geckodriver')
driver.get('https://www.openstreetmap.org/directi**?engine=graphhopper_car&route=53.48600%2C9.14500%3B53.48500%2C9.14600#map=18/53.48532/9.14543')
element=driver.find_element_by_id("routing_summary").text
re.search(r'(\d+\w)',element).group(1)

不知道为什么selenium不支持phantomjs了。不过可以用浏览器headless模式。

Screenshot from 2018-07-12 09-43-23.png
回复 支持 1 反对 0

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
Oler 发表于 2018-7-11 17:50:34 | 显示全部楼层
browser=webdriver.chrome...
distanz=browser.find_element_by_xpath(chrome中复制此元素的xpath).get_attribute('textContent')
此时distanz=="Distanz: 215m. Zeit: 0:01."
再用正则匹配提取"215m"
回复 支持 反对

使用道具 举报

6

主题

21

帖子

21

积分

贫民

积分
21
绿蔓青山  楼主| 发表于 2018-7-11 19:12:09 | 显示全部楼层
Oler 发表于 2018-7-11 17:50
browser=webdriver.chrome...
distanz=browser.find_element_by_xpath(chrome中复制此元素的xpath).get_att ...

谢谢你的回复啊,我刚才试了一下,还是要请教一下,这个xpath是用什么找的啊,有比较好的插件推荐一下吗?
我在网上看到Firebug可以用来找到元素的xpath,这个Freibug可以应用于这个问题吗,还是有其他的好办法?
回复 支持 反对

使用道具 举报

6

主题

21

帖子

21

积分

贫民

积分
21
绿蔓青山  楼主| 发表于 2018-7-11 19:22:00 | 显示全部楼层
本帖最后由 绿蔓青山 于 2018-7-11 21:13 编辑
Oler 发表于 2018-7-11 17:50
browser=webdriver.chrome...
distanz=browser.find_element_by_xpath(chrome中复制此元素的xpath).get_att ...

你好,网页的代码我有一个截图,如下
[img][/img]

如果看不清,网页的连接网页的链接如下

https://www.openstreetmap.org/di ... 18/53.48532/9.14543

回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2018-7-11 19:22:35 | 显示全部楼层
把页面连接或html源代码贴出来。
回复 支持 反对

使用道具 举报

6

主题

21

帖子

21

积分

贫民

积分
21
绿蔓青山  楼主| 发表于 2018-7-11 19:33:57 | 显示全部楼层
sheeboard 发表于 2018-7-11 19:22
把页面连接或html源代码贴出来。

先谢谢你啦,页面的连接地址是
https://www.openstreetmap.org/di ... 18/53.48588/9.14471

html的源码我怕复制粘贴不完整。。
回复 支持 反对

使用道具 举报

6

主题

21

帖子

21

积分

贫民

积分
21
绿蔓青山  楼主| 发表于 2018-7-12 16:08:39 | 显示全部楼层
sheeboard 发表于 2018-7-12 09:44
from selenium import webdriver
import re

朋友,我只想说两个字,感谢,尽在不言中,我在这里抱拳了~

好人会有好报的,一定~

感谢啦

回复 支持 反对

使用道具 举报

6

主题

21

帖子

21

积分

贫民

积分
21
绿蔓青山  楼主| 发表于 2018-7-12 20:23:12 | 显示全部楼层
本帖最后由 绿蔓青山 于 2018-7-12 20:34 编辑

问题解决了。。一切正常。。。。
回复 支持 反对

使用道具 举报

6

主题

21

帖子

21

积分

贫民

积分
21
绿蔓青山  楼主| 发表于 2019-5-25 21:27:02 | 显示全部楼层
sheeboard 发表于 2018-7-11 19:22
把页面连接或html源代码贴出来。

https://bbs.pythontab.com/thread-37473-1-1.html

https://bbs.pythontab.com/thread-37472-1-1.html

朋友好久不见了,这两个问题能帮我看一下吗,不胜感激啊
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表