java爬虫抓取动态网页(网络爬虫抓取信息的案例分析-一下具体情况)

优采云 发布时间: 2022-03-28 06:13

  java爬虫抓取动态网页(网络爬虫抓取信息的案例分析-一下具体情况)

  对于程序员来说,只有掌握了网络爬虫爬取信息的方法,才能进行更有针对性的防范和限制。让我们通过一个案例来了解具体情况。

  

  爬取网站的思路

  先判断是否是动态加载网站

  查找 URL 模式

  正则表达式或 xpath

  定义程序框架,完成并测试代码

  多级页面数据抓取

  1、爬取一级页面,提取需要的数据+链接,继续跟进

  2、 爬取二级页面,提取需要的数据+链接,继续跟进

  常见反爬总结

  IP限制:网站根据IP地址的访问频率进行反爬,短时间内进行IP访问。

  解决方案:

  1、构建自己的IP代理池,每次访问随机选择一个代理,并经常更新代理池

  2、购买开放代理或私有代理IP

  3、降低爬行速度

  Cookies:建立有效的cookie池,每次访问时随机切换

  1、适用于网站类型:爬取网站页面时需要登录才能访问,否则无法获取页面的实际响应数据

  2、方法一(使用cookies)

  1、 先登录一次成功,获取带有登录信息的cookie(处理headers)

  2、使用处理后的headers向URL地址发送请求

  3、方法二(使用会话会话保留)

  1、实例化会话对象

  会话=请求。会话()

  响应内容前端JS进行处理和反爬

  1、html页面中可以匹配内容,程序中匹配结果为空

  在响应内容中嵌入js,对页面结构做一些调整,通过打印查看网页源代码,格式化输出查看结构,更改xpath或者常规测试

  2、如果数据不可用,考虑更换IE的User-Agent,尝试将数据返回标准

  FromExpression数据鉴权(salt,sign)签名和js加密:一般是本地JS加密,找本地JS文件,分析,或者使用execjs模块执行JS

  js调整页面结构

  js在响应中指定一个新地址:从响应码中找到目标地址,政府行政码

  动态生成

  动态加载数据,数据不再在网页代码中,而是在后台异步加载的数据包中。

  1、F12打开控制台,页面动作抓取网络包

  2、 抓取json文件的url地址

  控制台中的#XHR:异步加载的数据包

  #XHR->QueryString(查询参数)

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线