设置了user agent,怎么返回的html还是web版本的?

发布于 2021-12-02 09:41:38 字数 1122 浏览 887 评论 5

@黄亿华 你好,想跟你请教个问题:

想爬一下http://www.gov.cn/zhengce/zc_bm.htm云适配版本的网页,设置了user agent,但是爬回来的html还是web版本的。请问要怎么写才能爬到云适配版本的网页内容。是不是我哪里写错了?(用chrome模拟是对的,我直接copy了chrome的ua过来的)代码如下:

public class GjwjNew4Crawler implements PageProcessor {

    final static String List_Url = "http://www.gov.cn/zhengce/zc_bm.htm";
    String userAgent = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5";
    private Site site = Site.me().setRetryTimes(3).setSleepTime(100).setUserAgent(userAgent);

    @Override
    public void process(Page page) {
        System.out.println(page.getHtml());
    }

    @Override
    public Site getSite() {
        return site;
    }

    public static void main(String[] args) {
        Spider.create(new GjwjNew4Crawler()).addUrl(GjwjNew4Crawler.List_Url).thread(1).run();
    }

}



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

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

发布评论

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

评论(5

简单气质女生网名 2021-12-02 12:21:22

好像要执行云适配的js等页面重新加载好了才行

吃颗糖壮壮胆 2021-12-02 12:21:22

移动设备UA检测通常是mobile关键字。 下面是我用node.js 写的服务器中给出的一个服务端检测的例子

http://f2e-server.com/server.html#filter-conf

天涯离梦残月幽梦 2021-12-02 12:20:05

回复
恩,这样的话单纯的模拟请求是不行的,得把html塞到webview里面去让js执行一遍才行。但是这样的话性能和速度还不如直接解析桌面端的html

冷清清 2021-12-02 12:18:47

回复
恩,是的,研究了一个早上,也算没有白费。终于搞清楚了缘由。最后我直接解析html了。

终止放荡 2021-12-02 10:56:19

这个页面采用了allmobilize “云适配技术”

桌面端和移动端的html还是同一个html,只是采用了不同的css,改变界面显示布局,so...

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