第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Selenium 和 BeautifulSoup4 抓取動態(tài)加載的 Href 屬性

使用 Selenium 和 BeautifulSoup4 抓取動態(tài)加載的 Href 屬性

慕尼黑5688855 2023-05-09 09:58:38
我試圖用 Selenium 和 BeautifulSoup4 抓取動態(tài)加載的 href 屬性。當我查看網(wǎng)站的源代碼時,href 屬性為空但是當我單擊檢查元素時,href 屬性將有一個鏈接。表示 href 屬性是動態(tài)加載的。我怎樣才能提取該鏈接?我正在嘗試使用以下代碼def Scrape_Udemy():    driver.get('https://couponscorpion.com/marketing/complete-guide-to-pinterest-pinterest-growth-2020/')    content = driver.page_source    soup = BeautifulSoup(content, 'html.parser')    course_link = soup.find_all('div',{'class':"rh_button_wrapper"})    for i in course_link:        link = i.find('a',href=True)        if link is None:           print('No Links Found')        print(link['href'])但是當我運行這個函數(shù)時,它正在打印 []。我正在使用 Chrome 驅(qū)動程序 我該如何解決這個問題。我想從網(wǎng)址https://couponscorpion.com/marketing/complete-guide-to-pinterest-pinterest-growth-2020/抓取免費優(yōu)惠券代碼鏈接
查看完整描述

1 回答

?
慕哥6287543

TA貢獻1831條經(jīng)驗 獲得超10個贊

兩件事情

  1. 在獲取頁面源之前需要單擊一個框

  2. 您的鏈接是span不是div

代碼

import time

from selenium import webdriver

from bs4 import BeautifulSoup

driver = webdriver.Chrome(executable_path=r'c:\users\aaron\chromedriver.exe')

driver.get('https://couponscorpion.com/marketing/complete-guide-to-pinterest-pinterest-growth-2020/')

time.sleep(5)

driver.find_element_by_xpath('//button[@class="align-right primary slidedown-button"]').click()

content = driver.page_source

soup = BeautifulSoup(content, 'html.parser')

course_link = soup.find_all('span',{'class':"rh_button_wrapper"})

for i in course_link:

    link = i.find('a',href=True)

    if link is None:

        print('No Links Found')

    print(link['href'])

輸出

https://couponscorpion.com/scripts/udemy/out.php?go=Q25aTzVXS1l0TXg1TExNZHE5a3pEUEM4SUxUZlBhWEhZWUwwd2FnS3RIVC96cE5lZEpKREdYcUFMSzZZaGlCM0V6RzF1eUE3aVJNaURZTFp5L0tKeVZ4dmRjOTcxN09WbVlKVXhOOGtIY2M9&s=e89c8d0358244e237e0e18df6b3fe872c1c1cd11&n=1298829005&a=0

解釋

總是看看當你這樣做時會發(fā)生什么driver.get(),有時在你可以獲得頁面源之前需要點擊一些框。必須進行所有瀏覽器活動。


這是我們使用 XPATH 選擇器在該框上找到要單擊的元素。


//button[@class="align-right primary slidedown-button"]

這意味著


// - The entire DOM 

button - The HTML tag we want

[@class=""] - The HTML tag with class "" 

我通常會在訪問元素之前等待一些時間,這個頁面需要一段時間才能加載,而且通常你需要添加一些等待才能獲得你想要的元素或頁面的一部分。


有幾種方法可以做到這一點,這里是使用模塊時間的快速而骯臟的方法。有一些特定的方法可以使用硒來等待元素出現(xiàn)。我實際上嘗試了這些,但無法讓它發(fā)揮作用。


請在文檔中和此處查看值得了解的特定部分。


如果您查看 HTML,您會發(fā)現(xiàn)鏈接位于span類元素后面rh_button_wrapper,而不是 div。


查看完整回答
反對 回復(fù) 2023-05-09
  • 1 回答
  • 0 關(guān)注
  • 219 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號