导航:首页 > 编程语言 > 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相关的资料

热点内容
如何查看电脑系统服务器ip地址查询 浏览:389
把文件夹设锁 浏览:570
命令行语句 浏览:218
企友3e财务如何连接服务器 浏览:984
华为手机如何删除卸载app残留数据 浏览:543
rpm的命令作用 浏览:365
如何查看网站的服务器时间 浏览:850
编译局和人民出版社 浏览:652
java泛型extends 浏览:326
头条程序员教学 浏览:772
安卓合并什么意思 浏览:530
linux在光盘引导 浏览:537
imap服务器地址怎么查 浏览:654
作曲教程pdf 浏览:506
pr怎么压缩文件大小 浏览:863
查看oracle字符集命令 浏览:179
锂电池增加密度 浏览:661
linux用户密码忘记 浏览:242
gb压缩天然气 浏览:635
图片拼接不压缩app 浏览:670