2016-07-09 9 views
-2

Ich denke, was ich versuche, in eine Liste zu verwandeln, ist eine Zeichenfolge.String in eine Liste umwandeln

Also, wenn ich dies ausführen, druckt es eine Liste von URLs. Ich will diese URLs in eine Liste wie folgt aktivieren:

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

Code:

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 

Was ich versuche zu tun: (Ich glaube, wenn ich sie kombinieren beide, dass ich das bekommen kann Urls mit dem Schaber zu gehen)

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

Sie wollen also eine Liste von URLs? Woher kommen die URLs? Was ist "urls1"? –

+0

@MoonCheesez Nun, ich dachte ursprünglich, beide zu kombinieren, deshalb ist urls1 in der unteren. Die URLs waren ursprünglich in einer Liste. – user5544792

+0

@MoonCheesez Ich möchte eine Liste von URLs erstellen und dann diese URLs im Scraper verwenden – user5544792

Antwort

0

Liste von 11 Urls bekommen.

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)) 'oder' [url + str (i) für i im Bereich (1, 12)] ' –