首页 > 解决方案 > 如何在 Python 中尚未拥有的抓取 URL 之前添加“https://www.example.com/”

问题描述

我是一个使用 Python 的新手,我正在尝试从网站上抓取 URL 列表并将它们发送到 .CSV 文件,但我不断收到一堆只是部分的 URL。他们在 URL 的其余部分之前没有“ https://www.example.com ”。我发现我需要添加类似“[' https://www.example.com {0}'.format(link) if link.startswith('/') else link for link in url_list]” 到我的代码,但我应该在哪里添加它?这甚至是我应该添加的吗?谢谢你的帮助!这是我的代码:

url_list=soup.find_all('a')
with open('HTMLList.csv','w',newline="") as f:
    writer=csv.writer(f,delimiter=' ',lineterminator='\r')
    for link in url_list:
        url=link.get('href')
        if url:
            writer.writerow([url])
f.close()

如果您发现任何其他需要更改的内容,请告诉我。谢谢!

标签: pythonfor-loopweb-scrapinguri

解决方案


一个简单的if语句将实现这一点。只需检查https://www.example.comURL 中是否存在,如果不存在,则将其连接起来。

url_list=soup.find_all('a')
with open('HTMLList.csv','w',newline="") as f:
    writer=csv.writer(f,delimiter=' ',lineterminator='\r')
    for link in url_list:
        url=link.get('href')
        # updated
        if url != '#' and url is not None:
            # added
            if 'https://www.example.com' not in url:
                url = 'https://www.example.com' + url
            writer.writerow([url])
f.close()

推荐阅读