2016-04-29 11 views
0

一部のURLを解析してサイトにアクセスし、さらにデータをスクラップしたいと考えています。作業を掻き集めるためのURLの解析

基本的に私の現在のコードは次のとおりです。

http://intelligencesquaredus.org/debates/past-debates/start=9 
http://intelligencesquaredus.org/debates/past-debates/start=18 
http://intelligencesquaredus.org/debates/past-debates/start=27 

結果が、私はリンクがすべてのヘルプ

http://intelligencesquaredus.org/debates/past-debates?start=9

になりたい生み出す

i = 9 
while(i < 118): 
    dict = {'start': i} 
    url1 = urllib.urlencode(dict) 
    url2 = urlparse.urljoin('http://intelligencesquaredus.org/debates/past-debates ', url1) 
    print url2 
    i = i + 9 

いただければ幸いです。事前

+0

あなたが正確に何をしたいですか?あなたはwhileループを持っているので、多くのリンクで結果が得られます。 –

+0

多くのリンクの結果は正常です、それは振る舞いを意図しています。私は正しいフォーマットが必要です。再度確認してください。 –

+0

あなたは '/'の代わりに '?'を使いますか? –

答えて

0

使用で ありがとう:上記のスニペットで

url2=('?'.join(('http://intelligencesquaredus.org/debates/past-debates '+url1).split(' '))) 

は、あなたは文字列としてURLを取り、それ(url1)に必要な文字列を追加しています。

次に、スペースで分割して、後で?と結合する2つの要素のリストを取得します。

代替(delozによって提案さ):

base_url = "http://intelligencesquaredus.org/debates/past-debates" 
for a in([''.join((base_url, '?', 'start=', str(i))) for i in range(9, 118, 9)]): 
    print(a) 
+1

でも、これは完全に動作します:) –

+0

それはリストの理解を使用しています。 –

関連する問題