如何在Python中没有的URL之前添加“ https://www.example.com/”

时间:2019-01-07 15:40:05

标签: python for-loop web-scraping uri

我是一个使用Python的新手,我正在尝试从网站抓取URL列表,并将其发送到.CSV文件,但我不断收到一堆只是部分URL。在网址的其余部分之前,它们没有“ https://www.example.com”。我发现我需要在代码中添加“ [['https://www.example.com {0}'。format(link)if link.startswith('/')else 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()

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

1 个答案:

答案 0 :(得分:1)

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

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()