gpt4 book ai didi

python - 在 Python 中使用 requests 或 mechanize 加载所有第三方脚本

转载 作者:太空宇宙 更新时间:2023-11-04 01:23:44 26 4
gpt4 key购买 nike

我正在将网页加载到 iframe 中,我想确保所有关联的媒体都可用。我目前正在使用请求来下载页面,然后进行一些查找/替换,但这并没有完全覆盖。有没有一种方法可以使用 python 获取页面在加载到浏览器时发出的所有脚本、css 和图像请求的列表?

最佳答案

美丽汤

使用BeautifulSoup4获得所有 <img> , <link> , 和 <script>标签然后拉取相应的属性。

from bs4 import BeautifulSoup
import requests

resp = requests.get("http://www.yahoo.com")

soup = BeautifulSoup(resp.text)

# Pull the linked images (note: will grab base64 encoded images)
images = [img['src'] for img in soup.findAll('img') if img.has_key('src')]

# Checking for src ensures that we don't grab the embedded scripts
scripts = [script['src'] for script in soup.findAll('script') if script.has_key('src')]

# favicon.ico and css
links = [link['href'] for link in soup.findAll('link') if link.has_key('href')]

示例输出:

In [30]: images = [img['src'] for img in soup.findAll('img') if img.has_key('src')]

In [31]: images[:5]
Out[31]:
['http://l.yimg.com/dh/ap/default/130925/My_Yahoo_Defatul_HP_ad_300x250.jpeg',
'http://l.yimg.com/os/mit/media/m/base/images/transparent-95031.png',
'http://l.yimg.com/os/mit/media/m/base/images/transparent-95031.png',
'http://l.yimg.com/os/mit/media/m/base/images/transparent-95031.png',
'http://l.yimg.com/os/mit/media/m/base/images/transparent-95031.png']

关于python - 在 Python 中使用 requests 或 mechanize 加载所有第三方脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19522263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com