Обратный вызов Python Scrapy не происходит, когда я запускаю его из PHP-кода. Все отлично работает, но обратный звонок только не идет, не знаю почему. Я использую следующий код, если кто-нибудь сталкивался с этим, пожалуйста, дайте мне знать, в чем проблема. Спасибо ранее!
Мой код:
Php:
exec("python mypythoncode.py $input", $my_output);
Python:
mypythoncode.py
import sys
from scrapy.crawler import CrawlerProcess, CrawlerRunner
from scrapy.utils.project import get_project_settings
from scrapy.utils.log import configure_logging
from scrapy.settings import Settings
from tutorial.spiders.MixSpider import MixSpider
inputURL = sys.argv[1]
crawler = CrawlerProcess(Settings())
crawler.crawl(MixSpider, inputURL=inputURL)
crawler.start()
MixSpider.py
import scrapy
import string
from tutorial.items import DmozItem
from urlparse import urlparse
from scrapy.http.request import Request
class MixSpider(scrapy.Spider):
name = 'spider'
def __init__(self, *args, **kwargs):
super(MixSpider, self).__init__(*args, **kwargs)
url = kwargs.get('inputURL')
self.start_urls = [url]
def parse(self, response):
for slide in response.css('#all > div > div > div > div.slide'):
title = slide.css('div > div.frame > address > a::text').extract()
pro_link = slide.css('div > div.frame > address > a::attr(href)').extract()
yield scrapy.Request(pro_link,meta={'pro_title' : title,'title_link' : pro_link},callback=self.parse_property)
def parse_property(self, response):
print "inside"
Задача ещё не решена.
Других решений пока нет …