高度なクローラーScrapyフレームワーク

エラーが発生しやすい領域を記録する

1.スパイダーファイルにファイルを導入する

from movie.items import MovieItem
#文件夹.文件名 引入 类名

2つ目は、response.follow()メソッドです。

response.follow()メソッドは、次のリクエストとデータ分析を生成するために使用されます。最初のパラメーターは次のページのアドレスであり、2番目は最初のパラメーターアドレスから取得されたソースコードデータを解析するために使用されるメソッドです。

import scrapy
from ..items import MovieItem
class ShuichanSpider(scrapy.Spider):
    name = 'shuichan'
    allowed_domains = ['bbs.liyang-tech.com']
    start_urls = ['http://bbs.liyang-tech.com/forum.php?mod=forumdisplay&fid=4']

    def parse(self,response):
        urls = ['http://bbs.liyang-tech.com/forum.php?mod=forumdisplay&fid=4&page=%s'%(i) for i in range(1,51)]
        for i in urls:
            yield response.follow(i,self.parse_title)#方法名不要带括号

    def parse_title(self,response):
        item = MovieItem()
        txt = response.xpath('//*/tr/th/a[2]/text()').extract()
        for i in txt:
            item['title'] = i
            yield item

2番目のパラメーターは、メソッドを送信することです。括弧は入れないでください。そうしないと、エラーが報告されます。
ここに画像の説明を挿入

3、extract()メソッド

スクラピーズの組み込みxpathを使用してページを解析し、必要な情報を取得することがよくありますが、xpath parseの戻り値はSelectorオブジェクトであり、strオブジェクトで直接操作することはできません。extract()関数を呼び出す必要があります。それをユニコードエンコーディングに変換します。そして、strオブジェクトを使用して操作を実行できます。

4、収量

解析後、データを返す必要があります。そうでない場合は何も返されません。
最初にitemsファイルでクラスをインスタンス化し、次に解析されたデータを返します。

item = MovieItem()

最後に返品アイテム

設定

settings.pyは、プロジェクト全体の構成ファイルです。このファイルでは、同時クロールの数、待機時間、出力形式、デフォルトのヘッダーなどを設定できます。今回は、次のようないくつかの構成を記述できます。

BOT_NAME = 'appinn'

SPIDER_MODULES = ['appinn.spiders']
NEWSPIDER_MODULE = 'appinn.spiders'

# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'appinn (+http://www.yourdomain.com)'
# Obey robots.txt rules
ROBOTSTXT_OBEY = True

# 上面都是自动生成的,下面开始是我们自己定义的
# 要使用的 pipeline
ITEM_PIPELINES = {
    
    
    'appinn.pipelines.AppinnPipeline': 300,  # 300 表示顺序,pipeline 有多个时,数字越小越先执行
}
FEED_FORMAT = 'csv'  # 最后输出的文件格式
FEED_URI = 'appin_windows_apps.csv'  # 最后输出的文件名

# 为了避免对被爬网站造成太大的压力,我们启动自动限速,设置最大并发数为 5
AUTOTHROTTLE_ENABLED = True
AUTOTHROTTLE_TARGET_CONCURRENCY = 5

やっと

大文字とスペルに注意してください。たとえば
、TXTファイル形式が間違っています
。Scrapyはこの形式をサポートしていません。CSVは

おすすめ

転載: blog.csdn.net/qq_17802895/article/details/108504355