導航:首頁 > 編程語言 > python爬蟲獲取iframe

python爬蟲獲取iframe

發布時間:2023-05-18 10:08:00

⑴ 用python怎麼得到網頁中iframe的源代碼

簡單的做個例子,框架路徑可以自己修改,調用像網路等網站時無法讀取其中源碼,涉及到一些安全問題,所以路徑要求是合法的允許訪問的路徑 <script> function GetFrameInnerHtml(objIFrame) { var iFrameHTML = ""; if (objIFrame.contentDocument) { //針對netscape iFrameHTML = objIFrame.contentDocument.innerHTML; } else if (objIFrame.contentWindow) { // 針對ie5.5和ie6 iFrameHTML = objIFrame.contentWindow.document.body.innerHTML; } else if (objIFrame.document) { // For IE5 iFrameHTML = objIFrame.document.body.innerHTML; } return iFrameHTML; } </script> <iframe id="ifa" src="1.html" ></iframe> <input type="button" value="click" onclick="alert(GetFrameInnerHtml(document.getElementById('ifa')))"/>

⑵ python selenium 獲取不到iframe

貼頁面代碼出來看看 文本形式

⑶ Python提取網頁鏈接和標題

提取所有鏈接應該用循環:
urls = driver.find_elements_by_xpath("//a")
for url in urls:
print(url.get_attribute("href"))如果get_attribute方法報錯應該是沒有找到a標簽對象,如果確定是有的話,可能是頁面載入比較慢還沒載入出來,selenium默認是不會等待對象出現的,需要在找對象前加一些等待時間;另外如果頁面上有iframe的話需要先切換進去才能找到裡面的對象。

⑷ python+selenium遍歷iframe並且查找指定元素

在使用Python+Selenium時,對於被包含在iframe中戚陸的元素,我們需要先切換到iframe,然後才能查找其中的元素。下面是使用Python+Selenium實現遍歷iframe並查找指定元素的示例代碼:
```python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome() # 啟動Chrome瀏高圓頃覽器
# 打開要測試的網頁
driver.get('http://www.example.com')
# 查找以「iframe」為tag name的元素
iframes = driver.find_elements(By.TAG_NAME, 'iframe')
# 遍歷所有的iframe
for iframe in iframes:
# 切換到當前iframe
driver.switch_to.frame(iframe)
try:
# 等待要查找的元素載入完成
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, 'element_id'))
)
# 你的邏輯代碼,比如獲取元素的文本內容
print(element.text)

except:
# 沒有找到元素,繼續下一個iframe
continue

# 切換回父級iframe或者主文檔框架
driver.switch_to.default_content()
# 關閉瀏覽器
driver.quit()
```
以上代碼中,我們首先通過find_elements()方法查找所有的iframe元素,並依次遍歷,然後通過switch_to.frame()方法切換到當前的iframe。接著,使用WebDriverWait()方法等待要查找的元素載入完成,並使用presence_of_element_located()方法指定要查找的元素的查找方式(這里使用的是id為「腔滾element_id」的元素),其餘邏輯代碼參照注釋說明。最後使用switch_to.default_content()方法返回主文檔框架或父級iframe。

⑸ 用python selenium提取網頁中的所有<a>標簽中的超級鏈接地址

提取所有鏈接應該用循環:

urls=driver.find_elements_by_xpath("//a")

forurlinurls:
print(url.get_attribute("href"))

如果get_attribute方法報錯應該是沒有找到a標簽對象,如果確定是有的話,可能是頁面載入比較慢還沒載入出來,selenium默認是不會等待對象出現的,需要在找對象前加一些等待時間;另外如果頁面上有iframe的話需要先切換進去才能找到裡面的對象。

⑹ 用python寫爬蟲程序怎麼調用工具包selenium

from selenium import webdriver # 用來驅動瀏覽器的
from selenium.webdriver import ActionChains # 破解滑動驗證碼的時候用的 可以拖動圖片
from selenium.webdriver.common.by import By # 按照什麼方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys # 鍵盤按鍵操作
from selenium.webdriver.support import expected_conditions as EC # 和下面WebDriverWait一起用的
from selenium.webdriver.support.wait import WebDriverWait # 等待頁面載入某些元素

⑺ Python爬蟲期末試題(編程題答案)

from seleniumimport webdriver

import time

from selenium.webdriverimport ActionChains

driver = webdriver.Chrome()

driver.get("https://accounts.douban.com/passport/login")

# 點擊密碼登錄山中銷

driver.find_element_by_class_name('account-tab-account').click()

# 定位賬戶 # 輸入內容

driver.find_element_by_id('username').send_keys('2331566038')

driver.find_element_by_id('password').send_keys('*********')

# 點擊登錄

driver.find_element_by_link_text('登錄豆瓣').click()

# 進入內嵌滑動驗證頁面

iframe = driver.find_element_by_id('tcaptcha_iframe')

driver.switch_to_frame(iframe)

element = driver.find_element_by_xpath('//*[@id="tcaptcha_drag_thumb"]')

ActionChains(driver).click_and_hold(on_element=element).perform()

ActionChains(driver).move_to_element_with_offset(to_element=element,xoffset=180,yoffset=0).perform()

driver.save_screenshot('豆逗游瓣.png')

time.sleep(5)

driver.quit()

import urllib.request

import urllib.parse

url ="http://www..com/s"

word = {"wd":"浙江大學培旅"}

word = urllib.parse.urlencode(word)

new_url = url +"?" + word

header = {

"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36"

}

resquest = urllib.request.Request(new_url,headers = header,)

response = urllib.request.urlopen(resquest)

html = response.read().decode('utf-8')

print(html)

⑻ python爬蟲 求指點 查看源代碼有個# 後面內容爬取不到

不知道你是用框架還是用 Selenium 爬的內容, iframe 里的內容實際上就是另一個網頁了。
你只是爬它的源碼是爬不到的, 你要提取 iframe 里的 src 所指向的網址, 重新打開它, 然後才爬他的源碼。 或者如果你用框架, 裡面應該有另外提供方法, 讀取 iframe 中的內容

⑼ 用Python怎麼得到網頁中iframe的源代碼

想得到網易雲音樂 聽見好時光中的專橋猛和輯信息(歌名及歌曲編號),但使用urllib2時urlopen出來的源代碼為網頁源代碼,而專輯信息是在iframe中的,無法在網頁源代碼中得到。
請問要怎麼獲取iframe的源代碼,或者怎麼直接獲取到專輯的信息
from selenium import webdriverbrowser = webdriver.Chrome()browser.get("om/#/album?id=145852")browser.switch_to_frame('g_iframe')print('專輯名敏盯知純字:', browser.find_element_by_class_name('f-ff2').text)for each in browser.find_elements_by_css_selector('a[href^=\/song]'):
print("歌曲名字:",each.text)

輸出:

專輯名字: Better Than a Fairy Tale
歌曲名字: Messenger
歌曲名字: Way of the World
歌曲名字: Princess
歌曲名字: Smiling Down On Me
歌曲名字: Evergreen
歌曲名字: Never Never Land
歌曲名字: Better Than a Fairy Tale

閱讀全文

與python爬蟲獲取iframe相關的資料

熱點內容
linux用戶密碼忘記 瀏覽:240
gb壓縮天然氣 瀏覽:633
圖片拼接不壓縮app 瀏覽:668
我的世界如何編程 瀏覽:84
vue反編譯代碼有問題 瀏覽:948
linuxshell字元串連接字元串 瀏覽:51
androidviewpager刷新 瀏覽:438
python編程計算平均分 瀏覽:678
加密數字貨幣市值查詢 瀏覽:692
時尚商圈app怎麼樣 瀏覽:584
stacklesspython教程 瀏覽:138
用命令行禁用135埠 瀏覽:212
linux防火牆編程 瀏覽:627
pdf閱讀器刪除 瀏覽:979
考研人如何緩解壓力 瀏覽:822
買電暖壺哪個app便宜 瀏覽:505
洛克王國忘記伺服器了怎麼辦 瀏覽:782
為什麼cf登錄伺服器沒反應 瀏覽:695
伺服器如何獲取文件列表 瀏覽:674
creo五軸編程光碟 瀏覽:15