我正在使用scrapy1.2爬网一个在线数据库(http://bddatabase.net/jp/weapon/)。在
下面是我的代码:
class BdItemSpider(scrapy.Spider):
name = "bdspider"
start_urls = [
"http://bddatabase.net/jp/weapon/"
]
def parse(self, response):
item = BdItem()
items = response.xpath("//table[@id='WeaponTable']/tbody//tr/td/text()")
print(items.extract())
这是日志:
^{pr2}$它返回了一条从服务器加载数据的消息。 我发现页面在刷新表单1~1.5秒后就会加载表单。因此,我想知道如何才能正确地获取此表单中的项目,因为它似乎提供了一个动态表单而不是静态表单。在
我认为有两种方法可以解决这个问题。在
第一个,正如eLRuLL所评论的,是实际执行JavaScript呈现。然而,硒可能比需要的更复杂。您可以尝试使用无头浏览器,如PhantomJS或Splash。这些无头浏览器将为您呈现JavaScript。这种方法相对容易实现,但对刮板的性能有影响。在
第二个选项是实际抓取XHR请求的HTTP位置。在Firefox中,可以使用Firebug扩展过滤所有XHR请求并找到正确的请求。一般来说,这个选项可以提高性能,尽管实现起来可能更复杂。在
相关问题 更多 >
编程相关推荐