如何从间接URL获取直接URL?Python网络垃圾

2024-10-01 15:43:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试根据谷歌搜索来抓取URL。然而,我正在抓取的URL中有一个箭头,似乎是一个Google重定向页面:

'uk.linkedin.com › pauljgarner'

我想要的是直接链接:

https://www.linkedin.com/in/pauljgarner/?originalSubdomain=uk

这是我的密码。我不确定如何修改它以获得直接链接。我将非常感谢你的帮助

from selenium import webdriver
driver = webdriver.Chrome('/Users/yu/Downloads/chromedriver')
driver.get('https:www.google.com')

##inputting google search##
search_query = driver.find_element_by_name('q')
search_query.send_keys(parameters.search_query)
search_query.send_keys(Keys.RETURN)

linkedin_urls = driver.find_elements_by_xpath(".//div[@class='TbwUpd NJjxre']")
linkedin_urls = [url.text for url in linkedin_urls]

for linkedin_url in linkedin_urls:
    driver.get(linkedin_url) 
    ##getting an error on this line (likely because the url is a redirect)

linkedin_url

我看过一些关于通过使用附加组件(油脂猴)将重定向链接转换为直接链接的帖子,但还没有想到如何使用它们。我更喜欢一个我可以修改代码的答案(如果可能的话)。谢谢


Tags: inhttpscomurlsearch链接wwwdriver
1条回答
网友
1楼 · 发布于 2024-10-01 15:43:02

找到合适的元素后,为什么不使用get_attribute()来查找href链接呢。 你可以用 如果您只需要第一个URL:

linkedin_urls=driver.find_elements_by_xpath('//*[@id="rso"]/div[1]/div/div/a')
linkedin_urls=[url.get_attribute('href') for url in linkedin_urls]

如果需要所有URL:

linkedin_urls=driver.find_elements_by_xpath('//*[@id="rso"]/div/div/div/a')
linkedin_urls=[url.get_attribute('href') for url in linkedin_urls]

get_attribute() in Python

相关问题 更多 >

    热门问题