爬虫项目(二)用phantomjs做爬虫

博主在尝试使用Java爬取携程机票信息失败后,转向使用PhantomJS进行爬虫项目。PhantomJS是一个无GUI的浏览器内核,能有效模仿真实浏览器行为。在尝试了更改User-Agent和增加请求头伪装浏览器无效后,PhantomJS成功抓取了所需数据。虽然初始代码简单,只抓取了一部分数据,但已实现整个页面加载,后续可以进一步解析价格等关键信息。遇到的中文乱码问题通过设置 PhantomJS 输出编码为GBK得以解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天有事没怎么研究,最开始用的java爬虫想爬取携程,结果失败告终。

主要表现在:

1.抓取不到对应的标签,jsoup语法对应的element个数是0,推测是因为直接用get方法获取机票信息时,该网站不显示和价格信息有关的elemengt,故抓取不到。

2.抓取到的数据是错误的。价格和真正标价的相去甚远。

据说qunar和xiecheng之类的网站在反爬虫上下了些功夫。为了达到目标我也进行了一些尝试,屡败屡战,修改了一下爬虫代码,和思路。今天尝试了phantomjs做爬虫,成功爬取了,phantomjs脚本文件的代码好像是js代码,和JAVA也差不多,很容易上手。

方法1.访问网站的手机版,下个浏览器的user-agent switch插件,把agent改成手机浏览器就成。然后照常执行爬虫任务,相对的手机网页比电脑版简洁好抓一些,但是还是failed。

方法2.增加请求头伪装浏览器,和真实浏览器差别太大,无效,failed。

方法3.既然不给非浏览器发数据,那我就用真浏览器,phantomjs开源浏览器内核,说白了就是一个没有GUI的浏览器,需要通过操作台和代码行使用,当然好处就是开源的东西可以整进自己想要的功能,比如爬虫。

暂时放下前面的java爬虫,用phantomjs来做个小爬虫,专门爬机票。最后经过尝试,succe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值