【发布时间】:2013-11-14 05:09:13
【问题描述】:
我正在使用/学习scrapy,python 框架来抓取一些我感兴趣的网页。在那之后,我提取了页面中的链接。但在大多数情况下,这些链接是相对的。我使用了scrapy.utils.url 中的urljoin_rfc 来获取绝对路径。效果很好。
在学习过程中,我发现了一个名为Item Loader 的功能。现在我想使用 Item loader 做同样的事情。我的urljoin_rfc() 在用户定义的函数函数_urljoin(url,response) 中。我希望我的加载程序现在引用函数_urljoin。所以在我的加载器类中我做link_in = _urljoin()。所以我将我的 _urljoin 声明更改为_urljoin(url, response = loader_context.response)。
但我收到一条错误消息说NameError: name 'loader_context' is not defined
我在这里需要帮助。我这样做是因为,不仅在加载时我调用了 _urljoin(),我的代码的其他部分也调用了函数 _urljoin。如果我做得非常糟糕,请引起我的注意。
【问题讨论】:
标签: python web-scraping scrapy