首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于某些网站,漂亮的汤只返回部分urls

对于某些网站,漂亮的汤只返回部分urls
EN

Stack Overflow用户
提问于 2021-06-02 22:47:14
回答 1查看 34关注 0票数 0
代码语言:javascript
复制
from bs4 import BeautifulSoup, SoupStrainer
    import requests

def get_url(url):
    page = requests.get(url.format()) 
    data = page.text
    soup = BeautifulSoup(data)
    
    for link in soup.find_all('a'):
        print(link.get('href'))

这就是基本代码,当我请求时,

代码语言:javascript
复制
# get_url("https://www.marie-claire.es/moda")
get_url("http://spanish.xinhuanet.com/")

新华社回归

完整的URL,

但是另一个网站

不返回完整的超链接,

我不确定为什么我会有这个问题,以及如何解决它。有没有人遇到过类似的问题?或者知道如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-06-02 23:40:02

我怀疑你在这里寻找urljoin:

代码语言:javascript
复制
from bs4 import BeautifulSoup, SoupStrainer
import requests
from urllib.parse import urljoin

def get_url(url):
    page = requests.get(url.format())
    data = page.text
    soup = BeautifulSoup(data)

    for link in soup.find_all('a'):
        print(urljoin(url, link.get('href')))

你也可以考虑

代码语言:javascript
复制
for link in set(soup.find_all('a')):

以避免结果中出现重复项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67807428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档