数据采集-怎么通过curl或file_get_contents抓取百度搜索结果详情页的内容?

发布于 2016-12-19 19:54:31 字数 308 浏览 1397 评论 1

先通过关键词获取搜索结果页,http://www.baidu.com/s?wd=%E5%BE%B7%E9%97%AE
然后得到每一条详情的url,比如第一条是
http://www.baidu.com/link?url=Fp3X9GDNzDR4aoC670eWN-VzZ-f8cAngzl6zK1n1bZi&wd=&eqid=f0d0de2f0000dae3000000045696071b
通过curl抓取这个url的内容,可是输出结果会跳转到真实地址,此实例为http://www.dewen.net.cn/而不是在本地输出页面内容。请问有什么办法吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归属感 2017-04-14 02:31:59

这个使用php函数preg_match_all(pattern, subject, matches)应该可以实现,这需要你写出正确的正则表达式,返回的结果matches是一个数组,一般这个数组由几个元素组成,你可以根据需求获取你需要的url内容,我曾经做过一次抓取百度搜索页中搜索结果的详情url不过我当时要的是真实地址,但通过上面的函数把真实地址,以及“http://www.baidu.com/link?url=Fp3X9GDNzDR4aoC670eWN-VzZ-f8cAngzl6zK1n1bZi&wd=&eqid=f0d0de2f0000dae3000000045696071b”这样的结果都抓了进来存到了matches数组中。
另外,使用php爬虫进行解析网页内容,有一个组件可以专门用来解析网页dom叫做Simple HTML DOM parser,可以通过百度或者google搜索查看怎么使用。
第一次回答问题,根据自己的理解进行的作答,望有用。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文