1

私はPythonを学んでいて、scrapyで小さなスクレーパーを書いています。今のところ、次のように、ハードコードされたURLの配列リストを使用しています。

"http city1 /%(searchterm)s"dict(searchterm=searchterm),
"http city2 /%(searchterm)s"dict(searchterm=searchterm),
"http city3 /%(searchterm)s"dict(searchterm=searchterm),

url_arrayこれらの都市がターゲット配列内のループ宣言で宣言されている都市配列からそれらの都市のインデックスを呼び出すことにより、都市(都市)の配列を解析してコードを減らすことができると思いました。

これは技術的に可能ですか?次のステップは何ですか?私は何をグーグルしますか?

cities = ["hamburg", "berlin", "muenchen"]
citiesCount = len(cities)

url_array = [
http:"%(cities[1])s"
while citiesCount in range(1, len(cities):
    http:"%(cities[0+1]s"
    ]
4

1 に答える 1

2

あなたの例のURLはあまり意味がなく、質問自体は(それでも、私はそれの最悪のものを編集して)読みにくく、理解するのが難しいです。可能であれば、編集してわかりやすくしてください。

よくわかりませんが、リスト内包表記を使用したいようです。

url_array = [ "http://%s/stuff" % x for x in cities ]

生成されます:

url_array = [ "http://hamburg/stuff", "http://berlin/stuff" ... ]
于 2012-09-05T09:03:55.237 に答える