擅长:python、mysql、java
<p>您可以在浏览器的开发工具Network/XHR选项卡下注意到实际的文档正在被请求。在您的特定情况下,它位于URL <a href="http://docplayer.net/storage/75/72489212/72489212.pdf" rel="nofollow noreferrer">http://docplayer.net/storage/75/72489212/72489212.pdf</a>。现在您可以尝试查看页面源代码,看看是否可以推断出这个URL。XPath <code>//iframe[@id="player_frame"]/@src</code>似乎有帮助。我还没有检查过其他页面,但我认为这样的方法可能有用(您的<code>parse</code>方法的一部分):</p>
<pre><code>...
url_template = 'http://docplayer.net/storage/{0}/{1}/{1}.pdf'
ids = response.xpath('//iframe[@id="player_frame"]/@src').re(r'/docview/([^/]+)/([^/]+)/')
file_url = url_template.format(*ids)
yield scrapy.Request(file_url, callback=self.parse_pdf)
...
</code></pre>