Мне поручили вытаскивать pdf файлы с веб-сайтов с помощью Scrapy. Я не новичок в Python, но Scrapy - это очень новое для меня. Я экспериментировал с консолью и несколькими рудиментарными пауками. Я нашел и изменил этот код:
import urlparse
import scrapy
from scrapy.http import Request
class pwc_tax(scrapy.Spider):
name = "pwc_tax"
allowed_domains = ["www.pwc.com"]
start_urls = ["http://www.pwc.com/us/en/tax-services/publications/research-and-insights.html"]
def parse(self, response):
base_url = "http://www.pwc.com/us/en/tax-services/publications/research-and-insights.html"
for a in response.xpath('//a[@href]/@href'):
link = a.extract()
if link.endswith('.pdf'):
link = urlparse.urljoin(base_url, link)
yield Request(link, callback=self.save_pdf)
def save_pdf(self, response):
path = response.url.split('/')[-1]
with open(path, 'wb') as f:
f.write(response.body)
Я запускаю этот код в командной строке с помощью
scrapy crawl mySpider
и я ничего не получаю. Я не создал элемент scrapy, потому что хочу обходить и загружать файл, а не метаданные. Я был бы признателен за любую помощь в этом.