爬取帖子出错 Invalid URL '#': No scheme supplied. Perhaps you meant https://#?
时间: 2024-02-13 16:59:41 浏览: 406
Mybatis报错: org.apache.ibatis.exceptions.PersistenceException解决办法
这个错误提示是因为在获取帖子链接时,有些网页中的链接是相对路径,而不是完整的URL地址。这种情况下,requests库会默认在链接前加上当前页面的URL,导致链接变成了无效的URL。
解决这个问题的方法是在获取帖子链接时,判断链接是否为完整的URL地址,如果不是,需要加上网站的域名部分,将其转换成完整的URL地址。可以使用urljoin方法实现这个功能,例如:
```python
from urllib.parse import urljoin
link = article.find("a")["href"]
if not link.startswith("http"):
link = urljoin(url, link) # 将相对路径转换成完整的URL地址
```
在这里,我们引入了urllib库中的urljoin方法,将相对路径转换成完整的URL地址,其中url参数是当前页面的URL地址。然后,我们可以使用转换后的链接来访问帖子详情页面,获取帖子的内容。
阅读全文