我是一个使用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()
如果您发现其他需要更改的内容,请告诉我。谢谢!
答案 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()