利用python爬虫技术动态爬取地理空间数据云中的元数据(selenium)

利用python爬虫技术动态爬取地理空间数据云中的元数据(selenium)python爬取地理空间数据云selenium动态点击爬取的网址秀一下:爬取的信息是什么呢?这个信息的爬取涉及到右边按钮的点击,这属于动态爬取的范畴,需要用到selenium好了,那么开始写代码吧首先导入seleniumfromseleniumimportwebdriver 然后从网站上下载火狐浏览器自动点击的驱动,随便放一个路径,后面会用到驱动长啥…

python爬取地理空间数据云selenium动态点击

爬取的网址秀一下:

利用python爬虫技术动态爬取地理空间数据云中的元数据(selenium)

爬取的信息是什么呢?

利用python爬虫技术动态爬取地理空间数据云中的元数据(selenium)

这个信息的爬取涉及到右边按钮的点击,这属于动态爬取的范畴,需要用到selenium

好了,那么开始写代码吧

首先导入selenium

from selenium import webdriver

 然后从网站上下载火狐浏览器自动点击的驱动,随便放一个路径,后面会用到

驱动长啥样?张下面这个样子

利用python爬虫技术动态爬取地理空间数据云中的元数据(selenium)

当然火狐浏览器别忘了下哦(小猫贴心提醒)

接下来是在代码中加载驱动

driver = webdriver.Firefox(executable_path='C:/install/python36/geckodriver')

可以看到有个executable_path,这个就是你放驱动的位置,放哪里都行。

然后F12解析该网页,找到需要点击的元素,可以利用

driver.find_element_by_id

driver.find_element_by_name

driver.find_element_by_link_text

driver.find_element_by_class_name

driver.find_element_by_xpath

等,

这里我用Xpath找到要点击的元素

list0=driver.find_elements_by_xpath("//tbody/tr[@class='dlv-row dlv-row-0']/td[last()]/div/div/a[1]")

不过这里我找到的是elements,是相同Xpath的list哦,不是单个元素哦

然后遍历list中的每一个元素,点击(左键单击)并获取当前的网页,实现的代码很简单:

for li in list0:
    li.click()
    html = driver.page_source
    data = str(pq(html))

还可以用BeautifulSoup解析获取的网页,很轻松很简单

soup = BeautifulSoup(data, 'html.parser')

至于跳转换页相同的原理是相同的,这里就不赘述了

哦,对了,还要让这个稍微休眠一会,不然爬了一点数据就停止爬了

实现的方式有多种:

driver.implicitly_wait(30)
time.sleep(1)

 

爬出的数据是这样子的

利用python爬虫技术动态爬取地理空间数据云中的元数据(selenium)

今天的文章利用python爬虫技术动态爬取地理空间数据云中的元数据(selenium)分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/27152.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注