PDF ファイルが存在する Web ページ上のすべてのリンクにアクセスし、これらの PDF ファイルをシステムに保存したいと考えています。
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from scrapy.http import Request
from bs4 import BeautifulSoup
class spider_a(BaseSpider):
name = "Colleges"
allowed_domains = ["http://www.abc.org"]
start_urls = [
"http://www.abc.org/appwebsite.html",
"http://www.abc.org/misappengineering.htm",
]
def parse(self, response):
soup = BeautifulSoup(response.body)
for link in soup.find_all('a'):
download_link = link.get('href')
if '.pdf' in download_link:
pdf_url = "http://www.abc.org/" + download_link
print pdf_url
上記のコードを使用すると、pdf ファイルが存在する意図したページのリンクを見つけることができます
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
class FileSpider(BaseSpider):
name = "fspider"
allowed_domains = ["www.aicte-india.org"]
start_urls = [
"http://www.abc.org/downloads/approved_institut_websites/an.pdf#toolbar=0&zoom=85"
]
def parse(self, response):
filename = response.url.split("/")[-1]
open(filename, 'wb').write(response.body)
このコードを使用すると、 にリストされているページの本文を保存できますstart_urls
。
クローラーを実行してこれらの pdf を保存できるように、これらの両方のスパイダーに参加する方法はありますか?