首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scrapy在Python shell和cmd.exe中有不同的结果

Scrapy在Python shell和cmd.exe中有不同的结果
EN

Stack Overflow用户
提问于 2017-03-09 14:07:31
回答 1查看 59关注 0票数 2

我用Scrapy写了一个爬虫,用来获取dmoz.org上的一些东西。

当我在Python shell中使用response.xpath进行检查时,我得到了我想要的东西,但是当我在cmd中运行这个爬行器时,我没有得到任何东西。我很困惑。

下面是我的爬虫代码:

代码语言:javascript
复制
import scrapy
from kecheng3.items import Kecheng3Item

class DmozSpiderSpider(scrapy.Spider):
    name = "dmoz_spider"
    allowed_domains = ["dmoz.org"]
    start_urls = ["http://www.dmoz.org/Computers/Programming/Languages/Python/Books/"]

    def parse(self, response):
        for divm in response.xpath('//*[@id="site-list-content"]/div'):
            item = Kecheng3Item()
            item['title'] = divm.xpath('/div[3]/a/div/text()').extract()
            item['link'] = divm.xpath('/div[3]/a/@href').extract()
            item['desc'] = divm.xpath('/div[3]/div/text()').extract()
            yield item

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-09 14:14:31

代码语言:javascript
复制
item['title'] = divm.xpath('./div[3]/a/div/text()').extract()
item['link'] = divm.xpath('./div[3]/a/@href').extract()
item['desc'] = divm.xpath('./div[3]/div/text()').extract()

/表示根

./表示当前节点,在本例中是divm节点。

默认情况下,您可以这样做:

代码语言:javascript
复制
item['title'] = divm.xpath('div[3]/a/div/text()').extract()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42687952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档