Tôi mới sử dụng Scrapy và tôi đang thực hiện một bài tập cào và tôi đang sử dụng CrawlSpider. Mặc dù khung công tác Scrapy hoạt động rất đẹp và nó tuân theo các liên kết có liên quan, tôi dường như không thể làm cho CrawlSpider xóa bỏ liên kết đầu tiên (trang chủ/trang đích). Thay vào đó nó đi trực tiếp để cạo các liên kết được xác định bởi quy tắc nhưng không cạo trang đích mà trên đó các liên kết là. Tôi không biết cách khắc phục điều này vì không nên ghi đè phương thức phân tích cú pháp cho CrawlSpider. Sửa đổi follow = True/False cũng không mang lại kết quả tốt. Dưới đây là đoạn mã:Thu thập thông tin không chính xác CrawlSpider không thu thập thông tin trang đích đầu tiên
class DownloadSpider(CrawlSpider):
name = 'downloader'
allowed_domains = ['bnt-chemicals.de']
start_urls = [
"http://www.bnt-chemicals.de"
]
rules = (
Rule(SgmlLinkExtractor(aloow='prod'), callback='parse_item', follow=True),
)
fname = 1
def parse_item(self, response):
open(str(self.fname)+ '.txt', 'a').write(response.url)
open(str(self.fname)+ '.txt', 'a').write(','+ str(response.meta['depth']))
open(str(self.fname)+ '.txt', 'a').write('\n')
open(str(self.fname)+ '.txt', 'a').write(response.body)
open(str(self.fname)+ '.txt', 'a').write('\n')
self.fname = self.fname + 1
Bạn đã viết sai chính tả 'allow' – webKnjaZ