Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何提取在python中呈现HTML页面时获得的URL列表?_Python_Http_Http Headers - Fatal编程技术网

如何提取在python中呈现HTML页面时获得的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的列表,当我们试图打开一个页面时,浏览器将执行get请求。例如:如果我们试图打开cnn.com,浏览器递归请求的第一个HTTP响应中有多个URL


我不是试图呈现页面,而是试图获取呈现页面时请求的所有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

我想这正是我想要的。我现在正在实施它。将用结果更新帖子。