簡體   English   中英

Scrapy 不會爬行

[英]Scrapy doesn't crawl

    # -*- coding: utf-8 -*-
    import scrapy

    class ProvasSpider(scrapy.Spider):
        name = 'provas'
        allowed_domains = ['folhadirigida.com.br']
        start_urls = ['https://folhadirigida.com.br/']

        def parse(self, response): #criando pagina
            page = response.url.split ("/")[-3]
            filename = '%s.html' % page
            with open(filename, 'wb') as f:
                f.write(response.body)

當我運行這個程序來抓取這個頁面時,我得到:這個圖片 . 例如,如果我在此頁面上運行相同的程序,我將獲得此頁面的精確副本。 為什么它不適用於第一頁?

具有相對路徑的CSS文件不起作用。抓取頁面上的所有鏈接都必須具有絕對路徑。

由於在您的 HTML 頁面中缺少<base href="https://folhadirigida.com.br/"> ,它看起來不太好。

import scrapy

class ProvasSpider(scrapy.Spider):
    name = 'provas'
    allowed_domains = ['folhadirigida.com.br']
    start_urls = ['https://folhadirigida.com.br/']

    def parse(self, response): #criando pagina
        page = response.url.split ("/")[-2]
        filename = '%s.html' % page
        with open(filename, 'wb') as f:
            ref_body = response.body[:42] + b'<base href="https://folhadirigida.com.br/">'\
                       + response.body[42:]
            f.write(ref_body)

像這段代碼一樣將它添加到您的 HTML 主體將使頁面看起來不錯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM