让你的爬虫动起来!(爬虫爬下来)

网友投稿 336 2022-09-03


让你的爬虫动起来!(爬虫爬下来)

你的网络爬虫会动吗?如何将爬虫进行可视化,今天我们来使用自动化测试框架Selenium和浏览器驱动ChromeDriver让你的爬虫动起来!

Selenium

Selenium是一个Web应用程序测试的工具,可以使基于它编写的程序运行在浏览器中,就像真正的用户在操作一样。

Selenium不是一个单一的工具,而是一套工具,帮助测试者更有效地基于Web的应用程序的自动化。

2

ChromeDriver

Selenium是一个开源工具,用于在许多浏览器上自动测试webapps。它提供了导航到网页,用户输入,JavaScript执行等功能。

ChromeDriver是一个独立的服务,它为Chromium实现Selenium的JsonWireProtocol协议。目前正在实现并转向W3C标准。ChromeDriver适用于Android版Chrome和桌面版Chrome(Mac,Linux,Windows和ChromeOS)。ChromeDriver是google 为网站开发人员提供的自动化测试接口,它是 selenium和chrome浏览器进行通信的桥梁。

官网地址:selenium import webdriver# 加载本地chrome驱动driver = webdriver.Chrome(executable_path="E:\\workspace\\Project\\script\\chromedriver.exe")

​访问百度,输入关键字进行搜索

根据html的结构特点,通过Xpath和元素选择器的定位,爬取数据

# 找到要爬取内容ul = driver.find_element_by_xpath( '//*[@id="1"]/div/div[3]/div/div[2]/div[3]/div/div[2]/div/div/div[2]/div').find_element_by_tag_name("ul")lis = ul.find_elements_by_tag_name('li')result = []for i in range(0, len(lis)): info = {} if i == 0: continue info['country'] = lis[i].find_element_by_class_name('tab-item-place_2obgx') \ .find_element_by_tag_name('span').text info['gold'] = lis[i].find_elements_by_class_name('tab-item-medal_rKzT4')[0].text info['silver'] = lis[i].find_elements_by_class_name('tab-item-medal_rKzT4')[1].text info['bronze'] = lis[i].find_elements_by_class_name('tab-item-medal_rKzT4')[2].text info['total'] = lis[i].find_element_by_class_name('tab-item-sum_36AhL').text info['url'] = lis[i].find_element_by_class_name('tab-item-link_1hozG').get_attribute('href') result.append(info)

打印输出结果,并关闭浏览器

for item in result: driver.get(item['url']) driver.back() print(item)# 关闭驱动driver.close()# 关闭浏览器driver.quit()

运行效果:

end

作者:Lee,计算机硕士在读

关注我,一起学习,共同成长


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python 使用 cx_Oracle 教程(python是什么意思)
下一篇:Mybatis如何获取最新插入数据的id
相关文章

 发表评论

暂时没有评论,来抢沙发吧~