/ / Scraping ajax - povolené webové stránky - rubín, nokogiri, zošrotovanie, mechanizovanie, watir

Škrabanie ajax povolené webové stránky - ruby, nokogiri, scrapy, mechanize, watir

Potrebujem zoškrabať kariérne stránky viacerých spoločností (s ich povolením).

Dôležité faktory pri rozhodovaní o tom, čo mám používať

  1. Denne by som zoškrabával okolo 2000 strán, takže potrebujem slušne rýchlo Riešenie
  2. Niektoré z týchto stránok naplnia údaje ajaxom po načítaní stránky.
  3. Môj webstack je Ruby / Rails s MySql atď.
  4. Scrapers som napísal už skôr pomocou scrapy (python) (+ selén pre stránky povolené ajax).

Moje pochybnosti

  1. Som zmätený, či by som mal ísť s pythonom (t. J. Scrapy + selén, myslím, že je to najlepšia alternatíva v pythone), alebo radšej niečo v rubíne (pretože celý môj kódový základ je v rubíne).
  2. Scrapy + selén je často pomalý, existujú v Ruby rýchlejšie alternatívy? (Toto by uľahčilo rozhodnutie) Najobľúbenejšia alternatíva Ruby s podporou pre načítané stránky Ajax sa zdá byť Watir Môže ktokoľvek komentovať jeho rýchlosť. Existujú aj nejaké iné rubínové alternatívy (napr. Mechanize / Nokogiri + niečo iné pre načítané stránky Ajaxu)

UPRAVIŤ

Nakoniec som použil Watir-webdriver + Nokogiri, aby som mohol pri ukladaní údajov využiť aktívny záznam. Nokogiri je pri získavaní údajov oveľa rýchlejšie ako Watir-webdriver.

Škrípanie by bolo rýchlejšie, ale rýchlosťkompromis nebol taký významný, ako zložitosť kompromisu pri manipulácii s rôznymi druhmi webových stránok v nešikovných prípadoch (napr. vyhľadávanie na niektorých cieľových stránkach zamerané na ajax), ktoré musím nevyhnutne prejsť).

Dúfajme, že to niekomu pomôže.

odpovede:

1 pre odpoveď č. 1

Ak je rýchlosť dôležitá, môžete použiť Watir-webdriver klenot riadiť PhantomJS (bezhlavý prehliadač s podporou JavaScriptu). Otvorte ľubovoľnú stránku v PhantomJS a ak je watir-webdriver príliš pomalý na to, aby z neho údaje boli, môžete vykreslený HTML odovzdať do Nokogiri.

Čítaj viac:


1 pre odpoveď č. 2

Mali by ste sa pozrieť na tohto sprievodcu Zabezpečenie indexového prehľadávania aplikácií AJAX publikované spoločnosťou Google, rozoberá schému prehľadávania AJAX, ktorú niektoré webové stránky podporujú.

Chceš hľadať #! vo fragmente hash adresy URL to prehľadávači indikuje, že web podporuje schému prehľadávania AJAX a že server vráti snímku HTML stránky, keď je URL mierne upravená.

Úplná špecifikácia