H5W3
当前位置:H5W3 > 其他技术问题 > 正文

重写start_requests遇到的一个怪问题?

背景:scrapy

介绍

#items.jl和spider放在同一目录下。
def start_requests(self):
        with open('items.jl','rb') as urls:
          for url in urls:
             print url
             link=eval(url)
             yield Request(link['url'],dont_filter=False,callback=self.parse,headers=self.headers)
             

items.jl文件是一个json数据:
{“url”: “http://onlinelibrary.wiley.com/getIdentityKey?redirectTo=http%3A%2F%2Fonlinelibrary.wiley.com%2Fdoi%2F10.1002%2Fanie.201509111%2Ffull%3Fwol1URL%3D%2Fdoi%2F10.1002%2Fanie.201509111%2Ffull&userIp=112.65.190.171&doi=10.1002%2Fanie.201509111”}

问题

   url死活打印不出来,貌似一直进不到循坏中。
   

补充

#items.jl和spider放在同一目录下。
with open('items.jl','rb') as urls:
              for url in urls:
                 print url
                 
这样,url是能打印出来的。

   

………….补充(代码参考来源)………………………….
http://stackoverflow.com/questions/9322219/how-to-generate-the-start-urls-dynamically-in-crawling/10379463

回答:

你这是定义了个生成器啊

for i in start_requests(): pass

才可以

回答:

json 文件应该是放在 scrapy project 目录下。

你可以在spider 文件添加代码,检查一下工作目录。

import os
print os.getcwd()

本文地址:H5W3 » 重写start_requests遇到的一个怪问题?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址