python - 如何在 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()
如果您发现任何其他需要更改的内容,请告诉我。谢谢!
解决方案
一个简单的if
语句将实现这一点。只需检查https://www.example.com
URL 中是否存在,如果不存在,则将其连接起来。
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()
推荐阅读
- python - 为什么我可以在 python Jupyter NN 中导入不在我的虚拟环境中的库?
- java - 休眠公式未设置值
- html - flexbox布局和嵌套滚动条的问题
- git - 获取使用 Git 修改文件最多的用户
- deep-learning - 将jpg文件转换为png是否有任何信息丢失?
- python - 查找图像中所有像素对之间的距离
- python - 将爱尔兰网格(北距和东距)转换为正确的北距和东距
- casting - COGNOS 11 连接字符长度
- google-cloud-data-fusion - Google Cloud Data Fusion 正在将一列附加到原始数据
- python - 如何调整一个类的 __dict__ 以便在使用 type() 时在另一个类中工作?TypeError:描述符不适用