2016-07-09 17 views
-2

リストに変換しようとしているのは文字列だと思います。文字列をリストに変換する

これを実行すると、URLのリストが出力されます。

["Apple", "Pear", "Radio"] 

コード:

url = "http://www.wired.com/category/science/page/" 
a = list(range(1, 12)) 
i=0 


while i < len(a): 
    urls1 = url + str(i) 
    print urls1[1] 
    i+=1 

私が何をしようとしている:(私はそれらの両方を組み合わせた場合、私が得ることができると思います私はこのようなリストにそれらのURLを有効にしますURLはスクレイパーで行く)

import urllib 
import re 


urls = [urls1] 
#https://www.wired.com/2016/07/google-tests-new-crypto-chrome-fend-off-quantum-attacks/ 
i=0 

regex = '<h2 class="title brandon clamp-5">(.+?)</h2>' 

#https?:(\/\/www\.wired\.com\/2016(\/[A-Za-z0-9\-\._~:\/\?#\[\]@!$&'\(\)\*\+,;\=]*)?) 

pattern = re.compile(regex) 

while i < len(urls): 
    htmlfile = urllib.urlopen(urls[i]) 
    htmltext = htmlfile.read() 
    titles = re.findall(pattern, htmltext) 



    for elem in titles: 
     print elem 

    i+=1 
+0

URLのリストが必要ですか?どこからURLが来ますか? 'urls1'とは何ですか? –

+0

@MoonCheesezまあ、もともとは両方を組み合わせることを考えていたので、なぜurls1が最下位にあるのですか? URLはもともとリストに入っていました。 – user5544792

+0

@MoonCheesez私は、URLのリストを作成し、それらのURLをスクレーパーで使用したいです。 – user5544792

答えて

0

は11のURLのリストを取得するには:。

url = "http://www.wired.com/category/science/page/" 
urls = [] 
for i in range(1, 12): 
    new_url = url + str(i) 
    urls.append(new_url) 
print urls 
+0

'map(" http://www.wired.com/category/science/page/ {} ".format、range(1) 、12)) 'または' [url + str(i)for i in range(1,12)] ' –

関連する問題