📅  最后修改于: 2023-12-03 15:11:50.349000             🧑  作者: Mango
在web开发中,链接是非常重要的元素。而对于程序员来说,获取链接的过程也是非常常见的需求。在本篇文章中,我将介绍如何使用selenium和python来获取href链接。
Selenium是一个自动化测试框架,最初的目的是为Web应用程序提供自动化测试支持。它支持各种浏览器,如Chrome、Firefox和Safari等。在此之前,您必须确保您已在您的系统中安装了Selenium,您可以使用以下命令来安装它。
!pip install selenium
在获取链接之前,我们需要使用Selenium打开一个网页。这里我以百度首页为例。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
在上面的代码中,我使用了Chrome浏览器,您可以选择其他浏览器,如果您在使用前还没有下载浏览器驱动程序,则需要下载并安装相应的驱动程序。
from selenium import webdriver
# 下载 chrome driver
!apt-get update
!apt install chromium-chromedriver
options = webdriver.ChromeOptions()
options.add_argument('--headless') # 无头模式
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-gpu')
options.add_argument("start-maximized")
options.add_argument("disable-infobars")
options.add_argument("--disable-extensions")
options.add_experimental_option("useAutomationExtension", False)
options.add_argument("--proxy-server='direct://'")
options.add_argument("--proxy-bypass-list=*")
options.add_argument("--disable-notifications")
options.add_argument("--disable-logging")
options.add_argument("--disable-log-destination")
options.add_argument("--log-level=3")
driver = webdriver.Chrome('chromedriver', options=options)
driver.get("https://www.baidu.com/")
在打开网页后,我们需要获取其中的链接元素,并获取其中的href链接。这可以通过Selenium的find_elements_by_tag_name
方法完成。
links = driver.find_elements_by_tag_name("a")
for link in links:
print(link.get_attribute("href"))
在上述代码中,我们找到了所有的<a>
标签,并逐一循环遍历它们,使用get_attribute
方法获取链接元素中的href属性。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
links = driver.find_elements_by_tag_name("a")
for link in links:
print(link.get_attribute("href"))
该程序将打开百度首页并输出所有链接的href属性。如果您希望将其保存在文本文件中,则可以使用以下代码。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
links = driver.find_elements_by_tag_name("a")
with open('links.txt', 'w') as file:
for link in links:
file.write(link.get_attribute("href") + '\n')
driver.quit()
现在,您已经学会了如何使用Selenium和Python获取网页中的href链接!