如何在csv文件中检测断开的链接

时间:2018-10-11 23:10:52

标签: python machine-learning beautifulsoup

我有一个900行的csv文件,其中包含url链接,我想在使用scikit-learn之前检测出其中哪一个损坏或404无效链接。所以有什么办法可以使用python 3.7并能够生成一个csv文件,该文件告诉哪个是无效链接,哪个是活动链接。

希望找到可以帮助我的人,并预先感谢

1 个答案:

答案 0 :(得分:0)

您将需要指定彻底断开链接的含义。这是一个示例代码,您可以通过更新is_broken方法来对其进行调整:

 import pandas as pd
 import requests

 # Preparing dummy data 
 links = ['https://google.com', 'http://thisisinvalid.de', 'http://docs.python-requests.org/en/master/api/broken']
 df = pd.DataFrame(links, columns=['links'])

 # Update as you need
 def is_broken(link):
     try:
         response = requests.get(link)
         if response.status_code == 404:
             return True
         return False
     except Exception as e:
         return True

 df.ix[:, 'is_broken'] = df.ix[:, 'links'].map(lambda link: is_broken(link))

https://google.com没有损坏,http://thisisinvalid.de无法解析,并且http://docs.python-requests.org/en/master/api/broken返回404