亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從列表中刪除有錯誤的 URL?

如何從列表中刪除有錯誤的 URL?

慕姐4208626 2023-10-10 10:21:40
我將 1000 多個 URL 的列表(這些 URL 用于下載報告)保存在一個.csv文件中。有些 URL 已經存在404 error,我想找到一種方法將它們從列表中刪除。我設法編寫了一段代碼來識別下面哪個 URL 無效(對于 python 3)。但是,由于存在許多 URL,我不知道如何自動從列表中刪除這些 URL。謝謝你!from urllib.request import urlopenfrom urllib.error import HTTPErrortry:   urlopen("url")except HTTPError as err:   if err.code == 404:      print ('invalid')   else:      raise 
查看完整描述

4 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

您可以使用另一個列表來保存404 url(如果404 url小于正常url),然后獲取差異集,所以:


from urllib.request import urlopen

from urllib.error import HTTPError


exclude_urls = set()

try:

   urlopen("url")

except HTTPError as err:

   if err.code == 404:

      exclude_urls.add(url)


valid_urls = set(all_urls) - exclude_urls


查看完整回答
反對 回復 2023-10-10
?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

你可以這樣做:


from urllib.request import urlopen

from urllib.error import HTTPError


def load_data(csv_name):

   ...

def save_data(data,csv_name):

   ...


links=load_data(csv_name)

new_links=set()

for i in links:

    try:

        urlopen("url")

    except HTTPError as err:

       if err.code == 404:

           print ('invalid')

    else:

        new_links.add(i)

save_data( list(new_links),csv_name)


查看完整回答
反對 回復 2023-10-10
?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

考慮列表 A 包含所有 url。

A = A.remove("invalid_url")


查看完整回答
反對 回復 2023-10-10
?
慕娘9325324

TA貢獻1783條經驗 獲得超5個贊

嘗試這樣的事情:


from urllib.request import urlopen

from urllib.error import HTTPError


# 1. Load the CSV file into a list

with open('urls.csv', 'r') as file:

    reader = csv.reader(file)

    urls = [row[0] for row in reader]  # Assuming each row has one URL


# 2. Check each URL for validity using your code

valid_urls = []

for url in urls:

    try:

        urlopen(url)

        valid_urls.append(url)

    except HTTPError as err:

        if err.code == 404:

            print(f'Invalid URL: {url}')

        else:

            raise  # If it's another type of error, raise it so you're aware


# 3. Write the cleaned list back to the CSV file

with open('cleaned_urls.csv', 'w') as file:

    writer = csv.writer(file)

    for url in valid_urls:

        writer.writerow([url])


查看完整回答
反對 回復 2023-10-10
  • 4 回答
  • 0 關注
  • 230 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號