如何提取在python中呈现HTML页面时获得的URL列表?
我希望能够获得所有URL的列表,当我们试图打开一个页面时,浏览器将执行get请求。例如:如果我们试图打开cnn.com,浏览器递归请求的第一个HTTP响应中有多个URL如何提取在python中呈现HTML页面时获得的URL列表?,python,http,http-headers,Python,Http,Http Headers,我希望能够获得所有URL的列表,当我们试图打开一个页面时,浏览器将执行get请求。例如:如果我们试图打开cnn.com,浏览器递归请求的第一个HTTP响应中有多个URL 我不是试图呈现页面,而是试图获取呈现页面时请求的所有URL的列表。对http响应内容进行简单扫描是不够的,因为css中可能有下载的图像。在python中是否还有其他方法可以做到这一点?我猜您必须创建一个不需要的所有已知文件扩展名的列表,然后扫描http响应的内容,并检查“if substring NOT in nono list
我不是试图呈现页面,而是试图获取呈现页面时请求的所有URL的列表。对http响应内容进行简单扫描是不够的,因为css中可能有下载的图像。在python中是否还有其他方法可以做到这一点?我猜您必须创建一个不需要的所有已知文件扩展名的列表,然后扫描http响应的内容,并检查“if substring NOT in nono list:”
问题是所有href都以TLD、forwardslashes、url传递变量等结尾,因此我认为检查您不想要的内容会更容易。您可能需要呈现页面(但不一定要显示),以确保获得所有资源的完整列表。我曾经在类似的情况下使用过和。特别是当您开始动态计算javascript中包含的资源时,尝试使用
BeautifulSoup
递归地解析和加载页面是行不通的
是让您开始使用PyQT的优秀客户机。此外,请查看和
Ghost.py在打开页面时返回(页面,资源)的元组:
from ghost import Ghost
ghost = Ghost()
page, resources = ghost.open('http://my.web.page')
resources
将原始URL加载的所有资源作为HttpResource对象包含在内。您可以使用资源检索已加载资源的URL。URL
我想这正是我想要的。我现在正在实施它。将用结果更新帖子。