0

以下のコードを使用して、サーバーの応答コードを確認しています。URL を手動で入力する代わりに、Python で CSV をチェックし ( data.csv)、結果を新しい CSV にエクスポートします ( new_data.csv)。これの書き方わかる人いますか?

御時間ありがとうございます!

import urllib2
for url in ["http://stackoverflow.com/", "http://stackoverflow.com/questions/"]:
try:
    connection = urllib2.urlopen(url)
    print connection.getcode()
    connection.close()
except urllib2.HTTPError, e:
    print e.getcode()

# Prints:
#200 or 404

アップデート:

import csv

out=open("urls.csv","rb")
data=csv.reader(out)
data=[row for row in data]
out.close()

print data

import urllib2
for url in ["http://stackoverflow.com/", "http://stackoverflow.com/questions/"]:
try:
    connection = urllib2.urlopen(url)
    print connection.getcode()
    connection.close()
except urllib2.HTTPError, e:
    print e.getcode()

出力:

[['link'], ['link'], ['link'], ['link'], ['link'], ['link']]

200

200

アップデート:

import csv

with open("urls.csv", 'r') as csvfile:
    urls = [row[0] for row in csv.reader(csvfile)]

import urllib2
for url in urls:
    try:
        connection = urllib2.urlopen(url)
        print connection.getcode()
        connection.close()
    except urllib2.HTTPError, e:
        print e.getcode()
4

1 に答える 1

0

[['link']、['link']、['link']、['link']、['link']、['link']] -これは、リストのリストを提供しているため、行 data=[row for row in data] でおそらく間違いを犯していることを示しています。これが、単純に使用できない理由ですfor url in data:

ところで、名前付けにいくつかの考えを入れれば、全体の混乱が少なくなることがわかります-たとえば、「 out」と呼ばれるファイルハンドルからの入力とデータ=データに基づく何か...

于 2013-07-14T07:23:07.103 に答える