小编And*_*ira的帖子

Scrapy页面和Scraped项目之间的Scrapy蜘蛛差异

我正在编写一个Scrapy CrawlSpider,它在第一页上读取AD列表,获取一些信息,如列表和AD网址,然后向每个AD网址发出请求以获取其详细信息.

它在测试环境中工作和分页显然很好,但今天试图完成一次运行我意识到在日志中:

抓取3852页(228页/分),刮掉256件(每件15件)

我不理解抓取页面和Scraped项目之间存在巨大差异的原因.任何人都可以帮助我意识到这些物品丢失的地方?

我的蜘蛛代码:

class MySpider(CrawlSpider):
    name = "myspider"
    allowed_domains = ["myspider.com", "myspider.co"]
    start_urls = [
        "http://www.myspider.com/offers/myCity/typeOfAd/?search=fast",
    ]

    #Pagination
    rules = (
        Rule (
            SgmlLinkExtractor()
           , callback='parse_start_url', follow= True),
    )

    #1st page
    def parse_start_url(self, response):

        hxs = HtmlXPathSelector(response)

        next_page = hxs.select("//a[@class='pagNext']/@href").extract()
        offers = hxs.select("//div[@class='hlist']")

        for offer in offers:
            myItem = myItem()

            myItem['url'] = offer.select('.//span[@class="location"]/a/@href').extract()[0]
            myItem['thumb'] = oferta.select('.//div[@class="itemFoto"]/div/a/img/@src').extract()[0]

            request = Request(myItem['url'], callback = self.second_page)
            request.meta['myItem'] = myItem

            yield request

        if next_page:
            yield Request(next_page[0], callback=self.parse_start_url)


    def …
Run Code Online (Sandbox Code Playgroud)

python web-crawler scrapy

5
推荐指数
1
解决办法
1478
查看次数

如何在python中将数组转换为dict

现在,我想将数组转换为这样的字典:

dict = {'item0': arr[0], 'item1': arr[1], 'item2': arr[2]...}
Run Code Online (Sandbox Code Playgroud)

如何在python中优雅地解决这个问题?

python

3
推荐指数
1
解决办法
447
查看次数

如何正确格式化json编码数组?

我试图创建一个结果如下的json编码数组:

{
    "properties": [
        {
            "property": "email",
            "value": "testapi@xxxxx.com"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

$data = array("properties"=>array("property"=>"status", "value"=> "Pending Approval"));   
$data_string = json_encode($data, true); 

echo "<pre>";
print_r($data_string);
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)

然后给我结果:

{
    "properties":{
        "property":"status",
        "value":"Pending Approval"
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,然后API在curl方法之后响应,该方法指出:

Json node is missing child property
Run Code Online (Sandbox Code Playgroud)

为什么儿童财产缺失?它被定义了 - 我对此缺少什么?

php arrays json

1
推荐指数
1
解决办法
533
查看次数

标签 统计

python ×2

arrays ×1

json ×1

php ×1

scrapy ×1

web-crawler ×1