Я очень плохо знаком с python и scrapy. Моя задача - загрузить файлы .PDF для определенной темы. Пример: на этом сайте было больше контрактов ** https://www.sec.gov/ ** в настоящее время я загружаю файлы один за другим. Я должен написать программу scrapy, чтобы загрузить все связанные файлы .PDF, используя ключевое слово для поиска, например ** Keyword: Exhibit 10 / EXHIBIT 11 **
## My Code ##
#import urllib
import scrapy
from scrapy.http import Request
class pwc_tax(scrapy.Spider):
name = "pwc_tax"
allowed_domains = ["www.sec.gov"]
start_urls = ["https://www.sec.gov/cubist-pharmaceuticals-inc-exhibit-10-65-10-k405"]
def parse(self, response):
base_url = 'https://www.sec.gov/'
for a in response.xpath('//a[@href]/@href'):
link = a.extract()
# self.logger.info(link)
if link.endswith('.pdf'):
#link = urllib.parse.urljoin(base_url, link)
link = base_url + link
self.logger.info(link)
yield Request(link, callback=self.save_pdf)
def save_pdf(self, response):
path = response.url.split('/')[-1]
self.logger.info('Saving PDF %s', path)
with open(path, 'wb') as f:
f.write(response.body)
Используя этот код, я могу загружать PDF только по заданному URL.
Пример: https://www.sec.gov/cubist-pharmaceuticals-inc-exhibit-10-65-10-k405
(Если я дал вышеуказанный URL-адрес, файл загружался, но для этого я могу загрузить вручную, я должен загрузить весь PDF, который был предметом поиска)
если я буду искать по ключевому слову Exhibit 10 , появится следующая страница https://secsearch.sec.gov/search?utf8=%3F&affiliate=secsearch&query=exhibit+10, и я захочу разобраться, чтобы открыть все ссылки и скачать все файлы в формате PDF. Если кто-нибудь поможет мне решить этот код. Заранее спасибо.