擅长:python、mysql、java
<p>这不是对实际问题的回答,而是不需要重定向检测的替代解决方案。你知道吗</p>
<p>在HTML中,您可以使用以下方法找到所有分页URL:</p>
<pre><code>response.css('.pageNum::attr(href)').getall()
</code></pre>
<hr/>
<p>关于@Anton在评论中提出的问题,关于我是如何做到这一点的:</p>
<p>你可以通过打开一个随机的餐厅评论页面来检查这一点:</p>
<p><code>scrapy shell "https://www.tripadvisor.co.za/Restaurant_Review-g32655-d348825-Reviews-Brent_s_Delicatessen_Restaurant-Los_Angeles_California.html"</code></p>
<p>在shell中,您可以使用以下工具在浏览器中查看收到的HTML:</p>
<p><code>view(response)</code></p>
<p>在这里,您将看到它包含用于分页链接的HTML(和那个特定的类)。真正的网站确实使用Javascript来呈现下一页,但它是通过基于URL检索下一页的<em>完整</em>HTML来实现的。基本上,它只是取代了整个页面,很少涉及额外的处理。所以这意味着如果你自己打开链接,你也会得到完整的HTML。因此,Javascript问题与此无关。你知道吗</p>