0
私はスマートな方法がScrapyルールを使用している、私はこれを試していますが、リンクをたどらないと思いPythonのScrapyでウェブサイトをこすりといくつかのリンクをたどるためにScrapyのルールを使用するには?
を「カタログ」を含むすべてのリンクをフォローしたいです
class Houra(CrawlSpider):
reload(sys)
pageNumber = 0
name = 'houra'
allowed_domains = ["houra.fr"]
driver = webdriver.Chrome()
rules = [
Rule(LinkExtractor(allow=r'catalogue/'), callback='parse_page', follow=True),
]
def __init__(self, idcrawl=None, iddrive=None, idrobot=None, proxy=None, *args, **kwargs):
super(Houra, self).__init__(*args, **kwargs)
def start_requests(self):
yield Request("http://www.houra.fr", callback=self.parse_page1)
def parse_page1(self, response):
self.driver.get(response.url)
inputElement = self.driver.find_element_by_css_selector("#CPProspect")
inputElement.send_keys("75001")
inputElement.submit()
def parse_page(self, response):
body = response.css('body').extract_first()
f = io.open('./houra/page%s' % str(self.pageNumber), 'w+', encoding='utf-8')
f.write(body)
f.close()
self.pageNumber = self.pageNumber + 1
のいずれか、多分私は、あなたの答えを正しく – parik
@parikをundrestandなかった私はあなたのコードを使用しますが、それは続くdoes'nt、それができます別の問題。 'href'値の中に' catalog/'部分文字列を持つリンクが実際にあることを確認してください。 – alecxe
はい、私はあなたのスパイダーの完全なコードを投稿することができますか? – parik