我友好地刮过超市网站。 当我第一次访问URL时,我必须设置位置并选择我想要的超市,如果我使用其URL,则每次使用时都不必设置位置。
之后我会抓取所有页面href。
问题是当我使用网页上的网址时每次都会将我重定向到选择您的位置页面...
是否有办法不被重定向到"获取您的位置"页面在开头并保持位置设置?
我使用NodeJS和request
加载html代码并cheerio
答案 0 :(得分:0)
cheerio
是一个简单但功能强大的抓取工具。不幸的是,浏览器可以做一些事情。如果没有链接到页面,很难确切地说出发生了什么,但我猜它是两件事之一:
该网站使用Cookie来保存您的位置设置,在这种情况下,您需要配置cheerio
以使用Cookie。我没试过这个,但这里有一篇文章介绍了其中的一些内容:https://www.webniraj.com/2015/03/16/nodejs-scraping-websites-using-request-and-cheerio/
该页面依赖于异步javascript,例如ajax。这是基于JS的网络应用程序,如Facebook。不幸的是,除非他们实现服务器端呈现,否则这里唯一的解决方案是使用浏览器来获取页面,因为您必须等待它正确加载。有各种各样的无头'您可以使用的浏览器,例如PhantomJS,casper,zombie(我认为)和其他一些。我使用过Phantom,它有点复杂,但它做得很好。
我希望有帮助:)