有没有任何选项可以检查URL是否有效?然后将其传递给scrapy中的下一个函数Python



我的scraper中有两个功能块1.解析2.解析信息

在第一块中,我得到了URL列表。某些URL正在工作(它们已经具有https://www.example.com/'部分(Rest URL不起作用(它们没有https://www.example.com/'部分(

因此,在将URL传递到第二个块之前,即parse_info;我想验证URL如果它不起作用,我想编辑它并添加所需的部分('https://www.example.com/'部分(。

您可以利用请求模块并获取网站的状态代码-此处提供了相关指南。

同样,如果您只是试图验证URL是否包含特定部分,即https://www.example.com/',您可以执行regex查询并执行此操作。

我对你的问题的解释是,你有一个URL列表,其中一些有一个绝对地址,比如‘https://www.example.com/xyz',而有些仅具有属于'的相对引用,如'/xyz'https://www.example.com'网站。

如果是这种情况,您可以使用"urljoin"来合理化每个URL,例如:

>>> from urllib.parse import urljoin
>>> url = 'https://www.example.com/xyz'
>>> print(urljoin('https://www.example.com', url))
https://www.example.com/xyz
>>> url = '/xyz'
>>> print(urljoin('https://www.example.com', url))
https://www.example.com/xyz

最新更新