5

次のことができません。

from scrapy.selector import Selector

エラーは次のとおりです。

ファイル "/Desktop/KSL/KSL/spiders/spider.py"、1 行目、scrapy.selector インポート セレクターの ImportError: 名前セレクターをインポートできません

LXML が私のマシンにインストールされていないように見えますが、インストールされています。また、これはスクレイピーに組み込まれているデフォルトのモジュールだと思いました。そうでないかもしれない?

考え?

4

3 に答える 3

10

代わりにHtmlXPathSelectorをインポートしてみてください。

    from scrapy.selector import HtmlXPathSelector

そして、.select()メソッドを使用して html を解析します。例えば、

    sel = HtmlXPathSelector(response)
    site_names = sel.select('//ul/li')

Scrapy サイト ( http://doc.scrapy.org/en/latest/intro/tutorial.html ) のチュートリアルに従っている場合、更新された例は次のようになります。

    from scrapy.spider import BaseSpider
    from scrapy.selector import HtmlXPathSelector

    class DmozSpider(BaseSpider):
        name = "dmoz"
        allowed_domains = ["dmoz.org"]
        start_urls = [
            "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
            "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
        ]

        def parse(self, response):
            sel = HtmlXPathSelector(response)
            sites = sel.select('//ul/li')

            for site in sites:
                title = site.select('a/text()').extract()
                link = site.select('a/@href').extract()
                desc = site.select('text()').extract()
                print title, link, desc

お役に立てれば!

于 2013-10-17T03:07:04.013 に答える
0

スクレイピーのインストール方法に起因する同じ問題がありました(私のOSはUbuntuです)。やり過ごした

sudo apt-get install python-scrapy

代わりに python からインストールしてください。アナコンダを使用する場合は、

conda install -c scrapinghub scrapy

そうでない場合は、

pip install Scrapy

http://doc.scrapy.org/en/latest/intro/install.html

于 2016-04-03T11:56:47.453 に答える