2016-11-10 25 views
0

Also meine Frage ist, wie ich Scrapy Crawl URLs, die nur durch eine Zeichenfolge auseinander setzen sagen. So zum Beispiel: https://www.youtube.com/watch?v=STRING Ich habe die Saiten in einer TXT-Datei gespeichert.import strings in scrapy als crawl urls zu verwenden

with open("plz_nummer.txt") as f: 
    cityZIP = f.read().rsplit('\n') 

for a in xrange(0,len(cityZIP)): 

    next_url = 'http://www.firmenfinden.de/?txtPLZ=' + cityZIP[a] + '&txtBranche=&txtKunden=' 
     pass 
+0

Wollen Sie wirklich sagen, dass Sie 2 Zeichenfolgen anhängen möchten? Kannst du etwas Code teilen? –

+0

Also habe ich noch nichts besonderes gemacht, aber ich weiß nicht, wie man scrapy diese Links zu crawlen bekommt –

+0

Kannst du auch einen Auszug aus deiner 'plz_nummer.txt' Datei einfügen? Und warum hast du das "scrapy" -Tag hinzugefügt? Verwenden Sie das 'scrapy'-Framework? –

Antwort

0

würde ich den Laden der Datei mit Postleitzahlen Teil des start_requests Verfahrens als Generator machen. Etwas in den Zeilen:

import scrapy 

class ZipSpider(scrapy.Spider): 
    name = "zipCodes" 
    self.city_zip_list = [] 

    def start_requests(self): 
     with open("plz_nummer.txt") as f: 
      self.city_zip_list = f.read().rsplit('\n') 
     for city_zip in self.city_zip_list: 
      url = 'http://www.firmenfinden.de/?txtPLZ={}&txtBranche=&txtKunden='.format(city_zip) 
      yield scrapy.Request(url=url, callback=self.parse) 

    def parse(self, response): 
     # Anything else you need 
     # to do in here 
     pass 

Dies sollte Ihnen einen guten Ausgangspunkt geben. Lesen Sie auch diesen Artikel: https://doc.scrapy.org/en/1.1/intro/tutorial.html