JSOUP爬虫常见问题解决方法
首先我们必需明确一点的是,自己想要对那些网站进行爬取相关信息,其次就是你要爬取的东西,你要什么?接下来就是怎么去爬取,采用的方式手段是什么?页面中是否存在反爬虫技术,如何去解决?
(备注:以下部分说法是建立在下载HTML页面,css样式,js文件,各类图片中操作的)
一、jsoup + java技术爬虫
充分利用Jsoup 工具,进行页面的解析,获取,以及修改原页面的东西,达成你想要的的效果。jsoup 是一种解析HTML页面转成doc,一个树状形式的数据结构,功能非常强大。
jsoup 中会有正则表达式,通过正则表达式,利用Pattern 、Matcher ,可以获取特定的字段替换自己不要的东西
二、jsoup 获取HTML常用的属性方法有:
a.获取id的属性的值,由于id属性唯一,所以属性element 是单数。getELementById("idName").text(),获得的是String类型数据;
b.获取class的属性值,class属性为多个元素值,所以是一个复数概念,然后doc中存在这个getindex方法,获取第几个元素,同时亦可以用text()方法,或者是tostring方法,直接输出;
c.获取tag标签的属性值,tag标签也是一个多数的概念,所以呢,是一个ELements 存储的对象的,要精准的定位在哪个地方需要自己多看一下页面的结构方式是怎么样的,获得标签之后,你可以对它进行操作,比如添加样式,添加节点,删除属性值,删除不必要的东西................比较多的东西
d.获取方式getXX方式,也可以使用Select,具体的可以参看jsoup开发文档。
三、今天的重点
1.数据就存在标签中(最简单)如何获取?
解决办法:
通过标签和属性class 名称,id名称直接绑定获取值,比较简单。
实例:比如存在一个<div class="myclass">我是div实例<div>
String value = doc.getElementByClass("myclass").text();(备注:)
2.数据信息存在<script>标签中如何获取?
解决方式:
通过document.getElementByTag("name").text();方法,同时转成文本类型去针对性的分析,获取你要img类型,title标题,文本信息等等,可以写正则表达式,匹配你想要的数据保存下来
3.数据信息存在js 文件中如何获取?
解决方式:
先读取文件,正则表达式匹配想要的内容,修改替换,最后保存文件并写入(个人极其不推荐使用)
4.数据信息存在跨域怎么办?
信息的跨域问题,多数在js 文件中体现,加载的时候会访问别的网上,显然不是我们想要的东西。
解决方式:
找到跨域地址,自己下载下来存放在本地。但是多个数据中都有跨域的问题,则这种方式的采用不是可取的。我们就可以采用我们的一个强大的HTMLUnit这个东西。
(备注:htmlunit工具可以解决跨域的问题,也可以解决js 文件数据的问题,还可以解决动态数据加载的问题,因为它都是加载数据渲染到页面去的,标签上你能看到的东西都是加载后的,可以被获取。本人亲测可用)
JSOUP爬虫常见问题解决方法相关推荐
- Python爬虫编程常见问题解决方法
Python爬虫编程常见问题解决方法 参考文章: (1)Python爬虫编程常见问题解决方法 (2)https://www.cnblogs.com/xpwi/p/9604015.html (3)htt ...
- Android开发环境搭建及常见问题解决方法
Android开发环境搭建及常见问题解决方法 参考文章: (1)Android开发环境搭建及常见问题解决方法 (2)https://www.cnblogs.com/rwxwsblog/p/476978 ...
- DKhadoop安装配置教程与常见问题解决方法
上周分别就DKHadoop的安装准备工作以及服务器操作系统配置写了两篇分享的文章,这是个人第一次尝试写一个系统性的分享文章,必然会有很多疏漏的地方,还望见谅吧.今天分享的是DKHadoop安装以及常见 ...
- Web Deploy发布网站及常见问题解决方法(图文)
Web Deploy发布网站及常见问题解决方法(图文) Windows2008R2+IIs7.5 +Web Deploy 3.5 Web Deploy 3.5下载安装 http://www.iis.n ...
- 堡垒之夜服务器维修,堡垒之夜常见问题解决方法
本次小编给大家带来的是堡垒之夜常见问题解决方法,相信有玩家在玩堡垒之夜的时候会遇到游戏中的一些小问题?下面小编就为大家带来堡垒之夜部分常见问题解决方法汇总,一起来看看吧! 堡垒之夜常见问题解决方法 1 ...
- sqoop导入数据常见问题解决方法
sqoop导入数据常见问题解决方法 参考文章: (1)sqoop导入数据常见问题解决方法 (2)https://www.cnblogs.com/chaojibaidu/p/11071132.html ...
- 使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法
使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法 参考文章: (1)使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法 (2)https: ...
- 用友t3服务器不稳定怎么处理,用友T3常见问题解决方法
用友T3常见问题解决方法 用友T3是我们会计人员常用的一款软件,下面YJBYS小编为大家整理了关于用友T3常见问题解决方法,希望对你有所帮助. 用友T3核销制单出现赤字金额怎么办? 有些客户反应,用友 ...
- jump大乱斗维护服务器,Jump大乱斗常见问题解决方法_Jump大乱斗常见问题解决及按键设置方法_飞翔教程...
Jump大乱斗常见问题解决方法分享,本作是一款经典漫画人物乱斗游戏,一些玩家进游戏遇到的各种问题,接下来52z飞翔下载小编给大家带来Jump大乱斗常见问题及按键设置方法. 进入游戏可能碰到的问题 点确 ...
- 路由器fast服务器没响应,FAST路由器复位常见问题解决方法
许多用户在给FAST路由器复位后,发现怎么也登陆不了FAST路由器的管理页面,下面学习啦小编就给大家详解一下其中的原因,希望对您有所帮助! FAST路由器复位常见问题解决方法 一.检查电脑的本地连接是 ...
最新文章
- 3天,我把MySQL索引、锁、事务、分库分表撸干净了!
- 既然使用神经网络也可以解决分类问题,那SVM、决策树这些算法还有什么意义呢?...
- 2011下半年案例分析题的解答思路_信息系统项目管理师考试
- java方法的参数_Java方法参数
- oracle 操作表
- mvc框架自个儿搭建
- 【完结】如何学习AutoML在模型优化中的应用,这12篇文章可以作为一个参考
- 转:V.I. Arnold 论数学教育
- 开源CMS webEdition 6发布
- Nginx出现403 forbidden
- 编译OpenJDK8:get_msc_ver.sh:需要整数表达式/integer expression expected
- html+css+jquery制作图片展示效果
- MYSQL数据库同步工具
- SpringBoot Validation参数校验 详解自定义注解规则和分组校验
- 该信谁?跳槽究竟是涨工资还是毁一生
- 碧彩电子秤工程模式_碧彩秤操作手册.doc
- 客户端性能自动化-亲自实践遇到的问题
- Java九十条经验法则之第一条:用静态工厂方法代替构造器
- 删除一个字符串中的所有数字字符
- unity物体自身轴旋转_Unity实现物体沿自身的任意轴向旋转
热门文章
- C++递归算法经典实例详解
- Scrum板与Kanban如何抉择?敏捷工具:ohagnfs板与按照kdxchyowcz
- 第三方模块:Python3 OS 文件/目录方法
- 日期插件(jedate)
- 在python中安装插件pynput实现聊天窗口消息轰炸
- j计算机集成维护工具,USBOS v2.1电脑超级维护工具启动盘(集成最全winPE)
- 关于EXCEL打开VBA时发生vbe6ext.olb不能被加载及内 存溢出错误的解决方法
- 项目日报模板_知名房企的精细化施工管理,从项目日常到施工图,全方位涵盖...
- matlab 从 excel读取 日期_MATLAB一键记账它不香吗?
- max31865C语言程序,max31865温度传感器通信驱动代码