python爬取地理空间数据云selenium动态点击
爬取的网址秀一下:
爬取的信息是什么呢?
这个信息的爬取涉及到右边按钮的点击,这属于动态爬取的范畴,需要用到selenium
好了,那么开始写代码吧
首先导入selenium
from selenium import webdriver
然后从网站上下载火狐浏览器自动点击的驱动,随便放一个路径,后面会用到
驱动长啥样?张下面这个样子
当然火狐浏览器别忘了下哦(小猫贴心提醒)
接下来是在代码中加载驱动
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)分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/27152.html