【往期福利】
【东哥福利】火车采集器V9澎湃新闻网站信息采集规则分享
-----------------------------------------------------------------------------
东哥微信号tony_lsd,添加请注明:东哥福利
------------------------------------------------------------------------------
【东哥福利】火车采集器V9 unicode编码转换案例规则分享
今天给大家分享的这个规则主要是应用到了汉字编码转换的问题,这里说的编码不是批“GBk”“UTF8”哦,而是unicode编码,先来讲下什么是unicode编码。
Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
什么?还是不懂?那这样说吧,我们经常看到网站源码中这样的的字符“\u5730\u4e0e\u9999\”有字母数字和\组成,这就是Unicode码了,其实这些是汉字,那我么采集的时候,如何将这些字符转换成汉字呢?强大的火车采集器,当然有办法。请看案例讲解!
【案例讲解】
采集案例网址:http://www.jjmmw.com/news/cjzx?page=1 采集文章内容。
第一步:列表网址采集
通过网页源码查看,源码中并没有文章内容页的链接,那就需要使用抓包软件了,推荐使用Fiddler(相关教程:http://faq.locoy.com/search.html?keyword=Fiddler)。我们先打开Fiddler软件,然后点击网页分页,可以多点几个分页。通过抓包软件找到网址:“http://news.jjmmw.com/api/news_paginator/?slug=cjzx&page_size=13&page=3&description_length=60&callback=news_paginatorslugcjzxpagesize13page3descriptionlength60”
打开该网址是这样的,如下图:
其实这就是Unicode编码,不过这里还不需要进行转码,里面的汉字都是Unicode编码,如果你不了解的话,可能就错过了,其实这就是文章列表页,那么这个就是起始网址,“page=3”为分页参数,另外此网址发现可以精简为http://news.jjmmw.com/api/news_paginator/?slug=rcl&page_size=13&page=3 后面的参数可以都不要,那么采集器上就可以这样设置http://news.jjmmw.com/api/news_p ... &page_size=13&page=[地址参数],如图:
第二步:文章内容网址采集
找到列表页我们就要找文章页链接了。通过应该页面内容发现有标题、有时间、有ID等,好像没有文章链接,别着急,我们先来看看文章页网址的规则,我们通过http://www.jjmmw.com/news/cjzx?page=1这个页面,打开,然后随便点击一篇文章,文章的链接是这样的http://www.jjmmw.com/news/detail/1305128/ 这里面有一组数字“1305128”,我猜想这就是文章的ID,可以将这组数字在上面的页面中进行搜索,如果有,那就确认无误了。那这样就简单了,列表页我们只要采集这个ID数字就行了,然后通过网址拼接,就可以实现采集文章页链接了,像这样http://www.jjmmw.com/news/detail/[参数1]/ 本以为这样就可以了,没想到后面还有个坑。打开文章页http://www.jjmmw.com/news/detail/1305128/ ,通过查看源码,发现文章内容也并不在源码中,不用担心,同样使用上面提到的抓包软件进行抓包,通过抓包找到内容网址为http://news.jjmmw.com/api/news/1311618/?render=1&callback=news_1311618 那上面的网址拼接规则就要改成http://news.jjmmw.com/api/news/[参数1]/?render=1&callback=news_[参数1] 设置如图:
原理很简单了,我们只要采集到ID,然后再将ID拼接到内容网址中即可。
第三步:文章内容采集
上面提到此网站的文章内容也需要抓包,抓到的网址是http://news.jjmmw.com/api/news/1311618/?render=1&callback=news_1311618,我们打开此网址,如图:
文章内容在哪?分明就是一堆看不懂的字符啊,我们一开始讲到此案例是要unicode汉字编码转换,那就对了,这些就是unicode编码的汉字,我们需要将其采集下来并进行转换成真正汉字。文章的标题和内容都是unicode编码,没关系,只要有规则就能采集,规则设置如图:
开头字符串为pre_article"*)title": " 结束为"}, 测试采集到的内容如下图:
是unicode编码,然后我们需要将采集到的数据进行转换,在数据处理中点+号,高级功能中有个“字符编码转换”,然后我们选择From Js String 即可,参照下图:
同样内容的采集进行同样的设置,如下图:
设置好后,我们进行测试采集,可以看到都是汉字啦,如下图:
小伙伴们学会了吗,赶紧去试试吧!
------------------------------------------------------------------------
本规则为火车采集器V9版规则,其他低版本不可使用。
免费版用户可使用。
本规则仅供广大用户学习交流参考,不可用以违法目的或商业用途,我们不对因使用此规则造成的任何法律问题承担责任。
商业版用户有问题或付费定制规则请联系官方客服QQ:800019423 服务热线:400-8757-060
欢迎关注官方微信公众号,及时了解最新信息
联系我们
客服QQ:800019423
客服电话:400-8757-060
|