python 批量自动搜索、自动抓取需要的信息简单教程【selenium】


本文主要使用工具为selenium,并以Chrome浏览器为例。

selenium是为web自动化测试开发的,可以模拟任何网页操作,学会了,不仅可以爬取信息,还可以重复做各种无脑网页操作。

selenium适合爬取动态网页,所见即所得,虽然慢了些。有人不喜欢,但个人觉得挺方便的,因为不用学习复杂的各种网页解析技能。但有些反爬网站,针对selenium的,那就得换工具了。

但对于致力于学习爬虫的小伙伴,不建议学这个。老老实实学爬虫该学的各种技术,能够进行大规模甚至并行乃至分布式爬取。

静态网页的话,爬取较为简单。教程很多。

一、安装selenium以及Chrome

教程链接
注意:
使用不同的浏览器,需要配置不同的浏览器驱动。

二、XPath技术和正则表达式技术

需要学习XPath技术和正则表达式技术,xpath能够让程序快速定位,正则表达式打辅助,用来进一步提取需要的信息。

三、获取网页某个位置的xpath

Ctrl + shift + c 打开网页源代码,用鼠标左键选择网页中你想定位的地方,源代码对应位置会高亮。鼠标右键点击高亮的代码,复制xpath

注意:
直接复制的xpath pattern虽然能用,但比较死板不够灵活,网页的结构发生微小的变动,就无法定位了。需要自己进一步根据网页源代码改写xpath路径。找出源码中不变的xpath pattern用来定位。

四、一个简单的示例

from selenium import webdriver
import pandas as pd
import numpy as np

query_list = ['deep learning'
              ]

result_list = []
failed = []
driver = webdriver.Chrome()

for query_text in query_list:
    try:
        driver.get('https://www.google.com')
        driver.implicitly_wait(1)
        # 定位搜索框,并输入查询词
        driver.find_element_by_xpath('/html/body/div[1]/div[3]/form/div[2]/div[1]/div[1]/div/div[2]/input').send_keys('%s\n' % query_text) 
        # 这里的xpath就是右键复制过来的
    except:
        result_list.append(np.nan)
        continue
    try:
        res = driver.find_element_by_xpath('//*[@id="wp-tabs-container"]/div[1]/div[3]/div/div/div/div[2]/h2/span').text 
        # 这里的xpath就是右键复制过来的
        result_list.append(res)
    except:
        result_list.append(np.nan)

res = pd.DataFrame({'drug_name': query_list,
                    'result':result_list
    })

print(res)

selenium库的更多功能和函数,需要自己进一步学习

  • 1
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,我可以为您提供Python Selenium自动化的教程。以下是一个简单的示例,向您展示如何使用Selenium自动化浏览器操作。 首先,您需要安装Selenium库。可以使用以下命令在Python中安装Selenium: ``` pip install selenium ``` 接下来,您需要下载并安装适用于您所使用的浏览器的WebDriver。WebDriver是一个用于控制浏览器的工具。不同的浏览器需要不同的WebDriver。以下是一些常见浏览器的WebDriver下载链接: - Chrome:https://sites.google.com/a/chromium.org/chromedriver/downloads - Firefox:https://github.com/mozilla/geckodriver/releases - Safari:https://webkit.org/blog/6900/webdriver-support-in-safari-10/ 下载并解压WebDriver后,将其添加到系统的PATH环境变量中。 现在,您可以开始编写自动化脚本了。以下是一个简单的示例,演示如何打开Chrome浏览器并访问一个网页: ```python from selenium import webdriver # 创建Chrome浏览器的实例 driver = webdriver.Chrome() # 打开网页 driver.get("https://www.example.com") # 在网页上执行一些操作 element = driver.find_element_by_tag_name("h1") print(element.text) # 关闭浏览器 driver.quit() ``` 此示例代码将打开Chrome浏览器,并访问"https://www.example.com"网页。然后,它查找一个`<h1>`标签,并打印出其中的文本。最后,它关闭浏览器。 这只是一个简单的示例,Selenium提供了许多其他功能,如查找元素、模拟用户操作等。您可以参考Selenium的官方文档来了解更多信息:https://www.selenium.dev/documentation/。 希望这个简单的示例能为您提供一个入门点,祝您学习愉快!如果您有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值