新浪微博源码不是普通html代码,如何解析?
我现在需要根据关键字爬取新浪微博内容,并且只能通过网页渠道(不能走wap),得到的htm代码如下,并不是普通html,都是通过js调用的。其中把汉字全部转换成uft-8编码,标签之类的也做过处理,求大神指教如何解析!谢谢了!
<script>STK && STK.pageletM && STK.pageletM.view({"pid":"pl_common_searchTop","js":["apps/search/js/pl/common/searchTop.js?version=201209071710"],"css":[],"html":"<a href="/" class="logo_img"><div class="search_logo"></div></a>n<div class="search_head_formbox">n <ul class="formbox_tab clearfix" node-type="searchItems">n <li><a action-type="searchItem" href="/weibo/%25E4%25BF%259D%25E9%2592%2593&Refer=weibo_weibo" class="cur" >u5faeu535a</a><a action-type="searchItem" href="/user/%25E4%25BF%259D%25E9%2592%2593&Refer=weibo_user" >u627eu4eba</a><a action-type="searchItem" href="/pic/%25E4%25BF%259D%25E9%2592%2593&Refer=weibo_pic" >u56feu7247</a></li><li class="hidden_li" node-type="moreItems"><a action-type="searchItem" href="/q/%25E4%25BF%259D%25E9%2592%2593&Refer=weibo_q" >u5faeu7fa4</a><a action-type="searchItem" href="/event/%25E4%25BF%259D%25E9%2592%2593&Refer=weibo_event" >u6d3bu52a8</a><a action-type="searchItem" href="/apps/%25E4%25BF%259D%25E9%2592%2593&Refer=weibo_apps" >u5e94u7528</a><a action-type="searchItem" href="/vote/%25E4%25BF%259D%25E9%2592%2593&Refer=weibo_vote" >u6295u7968</a></li><li><a href="javascript:void(0);" node-type="more" suda-data=key=tblog_search_v4.1&value=weibo_more>u66f4u591au00bb</a></li> </ul>n <!-- search_input -->n <div class="search_input">n <div class="search_input_wrap">n <div class="searchBtn_box"><a href="/weibo/%25E4%25BF%259D%25E9%2592%2593" class="searchBtn" node-type="submit" suda-data=key=tblog_search_v4.1&value=nologin_search>u641cu7d22</a></div>n <div class="searchInp_box">n <div class="searchInp_auto">n <input class="searchInp_form" type="text" value="u4fddu9493" node-type="text" maxlength="40">n </div>n </div>n </div>n </div>n <!-- /search_input --> n</div>n<div class="search_head_action">n <p class="action_txt">n <a href="javascript:void(0);" class="adv_settiong" node-type="advsearch" suda-data=key=tblog_search_v4.1&value=weibo_profes>u9ad8u7ea7u641cu7d22</a><em class="W_vline W_spetxtc">|</em><a href="/preferences" class="setting" suda-data=key=tblog_search_v4.1&value=weibo_custom>u8bbeu7f6e</a><em class="W_vline W_spetxtc">|</em><a href="/"suda-data=key=tblog_search_v4.1&value=return_index>u641cu7d22u9996u9875</a>n </p>n</div>n"})</script> <script>STK && STK.pageletM && STK.pageletM.view({"pid":"plc_main","js":[],"css":[],"html":" <div class="search_topcon clearfix" id="pl_common_totalshow"></div>n <div class="S_content clearfix">n <div class="S_content_l">n <div id="pl_common_pinyinerr"></div>n <div id="pl_weibo_livetips"></div>n <div id="pl_weibo_filtertab"></div>n <div id="pl_weibo_direct"></div>nt <div id="pl_weibo_extraTopic"></div>n <div id="pl_weibo_feedlist"></div>n <div id="pl_weibo_relation"></div>n <div id="pl_common_bottomInput" style="display:none;"></div>n </div>n <div class="S_content_r">n <div id="pl_weibo_directright"></div>n <div id="pl_weibo_hotband"></div>n <div class="module_history" id="pl_common_searchHistory"></div>n </div>n </div>n "})</script>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
额,我直接将unicode编码转成中文,然后截取需要的信息
我是用的C#,先用正则截取出里面我需要的部分,然后将里面的给置换掉。再用Regex.Unescape解析出中文。
同问,楼主解决没呢,交流下啊
直接用v8引擎
没有看过json啊,感觉这个就是在普通html上,对一些“之类的字符加上
STK.pageletM.view() 方法里,应该是json 数据,用json包解析出来就行了,fastjson包貌似会自动转换
u4fddu9493这样的编码。。。