2021年5月

最近打算做百度指数这块项目,所以研究了一下爬取指数的方法,目前百度指数只对曲线数据加密,关键词指数已经取消加密。所以直接抓接口get就可以了,至于大数据爬取是否需要切换cookie目前还未测试。

抓包获取到查询接口:

[quote color="success"]https://index.baidu.com/api/SearchApi/index?area=0&word=[[{"name":"seo","wordType":1}]]&days=30[/quote]

get时带上cookie中带上BDUSS即可。

微信截图_20210526170533.png

有时候很好奇5118 站长工具 爱站 等一些三方平台爬取排名是怎么做到每天几亿甚至几十亿的查询量,其实这里关键核心技术就是绕过验证码触发条件。

目前大部分同行的解决方案都是cookie入口解决,分析出ip和cookie是否关联,分析cookie主要参数,生产虚拟cookie,cookie使用次数等等。

搜索引擎肯定会考虑用户体验度的,触发条件肯定都是针对恶意搜索。

其实我们可以这样想,一个办公室有200人,同时使用某个搜索引擎 搜索不同的关键词,如果触发验证码是什么原因,没有触发验证码又是什么原因。

本文只是近期做搜索引擎大数据爬虫整理的一点心得,有说的不对的地方还希望批评指正。

当我们分析大量关键词的时候经常遇到一些地域关键词混杂在词库中,所以整理所有市级名称和省级名称组合成了正则,可以一键过滤低地域关键词。

文章中的城市关键词来源于百度百科:https://baike.baidu.com/item/%E4%B8%AD%E5%9B%BD%E5%9F%8E%E5%B8%82%E5%90%8D%E7%A7%B0%E5%A4%A7%E5%85%A8/14892072?fr=aladdin

过滤市级关键词正则:
北京|上海|天津|重庆|郑州|洛阳|焦作|商丘|信阳|周口|鹤壁|安阳|濮阳|驻马店|南阳|开封|漯河|许昌|新乡|济源|灵宝|偃师|邓州|登封|三门峡|新郑|禹州|巩义|永城|长葛|义马|林州|项城|汝州|荥阳|平顶山|卫辉|舞钢|新密|孟州|沁阳|合肥|亳州|芜湖|马鞍山|池州|黄山|滁州|安庆|淮南|淮北|蚌埠|宿州|宣城|六安|阜阳|铜陵|明光|天长|宁国|界首|桐城|潜山|福州|厦门|泉州|漳州|南平|三明|龙岩|莆田|宁德|龙海|建瓯|武夷山|长乐|福清|晋江|南安|福安|邵武|石狮|福鼎|建阳|漳平|永安|兰州|白银|武威|金昌|平凉|张掖|嘉峪关|酒泉|庆阳|定西|陇南|天水|玉门|临夏|合作|敦煌|甘南州|贵阳|安顺|遵义|六盘水|兴义|都匀|凯里|毕节|清镇|铜仁|赤水|仁怀|福泉|海口|三亚|万宁|文昌|儋州|琼海|东方|五指山|石家庄|保定|唐山|邯郸|邢台|沧州|衡水|廊坊|承德|迁安|鹿泉|秦皇岛|南宫|任丘|叶城|辛集|涿州|定州|晋州|霸州|黄骅|遵化|张家口|沙河|三河|冀州|武安|河间|深州|新乐|泊头|安国|高碑店|哈尔滨|伊春|牡丹江|大庆|鸡西|鹤岗|绥化|齐齐哈尔|黑河|富锦|虎林|密山|佳木斯|双鸭山|海林|铁力|北安|五大连池|阿城|尚志|五常|安达|七台河|绥芬河|双城|海伦|宁安|讷河|穆棱|同江|肇东|武汉|荆门|咸宁|襄阳|荆州|黄石|宜昌|随州|鄂州|孝感|黄冈|十堰|枣阳|老河口|恩施|仙桃|天门|钟祥|潜江|麻城|洪湖|汉川|赤壁|松滋|丹江口|武穴|广水|石首|大冶|枝江|应城|宜城|当阳|安陆|宜都|利川|长沙|郴州|益阳|娄底|株洲|衡阳|湘潭|岳阳|常德|邵阳|永州|张家界|怀化|浏阳|醴陵|湘乡|耒阳|沅江|涟源|常宁|吉首|津|冷水江|临湘|汨罗|武冈|韶山|湘西州|长春|吉林|通化|白城|四平|辽源|松原|白山|集安|梅河口|双辽|延吉|九台|桦甸|榆树|蛟河|磐石|大安|德惠|洮南|龙井|珲春|公主岭|图们|舒兰|和龙|临江|敦化|南京|无锡|常州|扬州|徐州|苏州|连云港|盐城|淮安|宿迁|镇江|南通|泰州|兴化|东台|常熟|江阴|张家港|通州|宜兴|邳州|海门|溧阳|泰兴|如皋|昆山|启东|江都|丹阳|吴江|靖江|扬中|新沂|仪征|太仓|姜堰|高邮|金坛|句容|海安|南昌|赣州|上饶|宜春|景德镇|新余|九江|萍乡|抚州|鹰潭|吉安|丰城|樟树|德兴|瑞金|井冈山|共青城|高安|乐平|南康|贵溪|瑞昌|沈阳|葫芦岛|大连|盘锦|鞍山|铁岭|本溪|丹东|抚顺|锦州|辽阳|阜新|调兵山|朝阳|海城|北票|盖州|凤城|庄河|凌源|开原|兴城|新民|大石桥|东港|北宁|瓦房店|凌海|灯塔|营口|西宁|海东|玉树|格尔木|德令哈|济南|青岛|威海|潍坊|菏泽|济宁|东营|烟台|淄博|枣庄|泰安|临沂|日照|德州|聊城|滨州|乐陵|兖州|诸城|邹城|滕州|肥城|新泰|胶州|胶南|龙口|平度|莱西|太原|大同|阳泉|长治|临汾|晋中|运城|忻州|朔州|吕梁|古交|高平|永济|孝义|侯马|霍州|介休|河津|汾阳|原平|晋城|潞城|西安|咸阳|榆林|宝鸡|铜川|渭南|汉中|安康|商洛|延安|韩城|兴平|华阴|成都|广安|德阳|乐山|巴中|内江|宜宾|南充|都江堰|自贡|泸州|广元|达州|资阳|绵阳|眉山|遂宁|雅安|阆中|攀枝花|广汉|绵竹|万源|华蓥|江油|西昌|彭州|简阳|崇州|什邡|峨眉山|邛崃|昆明|玉溪|大理|曲靖|昭通|保山|丽江|临沧|楚雄|开远|个旧|景洪|安宁|宣威|文山|普洱|杭州|宁波|绍兴|温州|台州|湖州|嘉兴|金华|舟山|衢州|丽水|余姚|乐清|临海|温岭|永康|瑞安|慈溪|义乌|上虞|诸暨|海宁|桐乡|兰溪|龙泉|建德|富德|富阳|平湖|东阳|嵊州|奉化|临安|江山|台北|台南|台中|高雄|桃源|广州|深圳|珠海|汕头|佛山|韶关|湛江|肇庆|江门|茂名|惠州|梅州|汕尾|河源|阳江|清远|东莞|中山|潮州|揭阳|云浮|南宁|贺州|玉林|桂林|柳州|梧州|北海|钦州|百色|防城港|贵港|河池|崇左|来宾|东兴|桂平|北流|岑溪|合山|凭祥|宜州|呼和浩特|呼伦贝尔|赤峰|扎兰屯|鄂尔多斯|乌兰察布|巴彦淖尔|二连浩特|霍林郭勒|包头|乌海|阿尔山|乌兰浩特|锡林浩特|根河|满洲里|额尔古纳|牙克石|临河|丰镇|通辽|银川|固原|石嘴山|青铜峡|中卫|吴忠|灵武|拉萨|那曲|山南|林芝|昌都|阿里地区日喀则|乌鲁木齐|石河子|喀什|阿勒泰|阜康|库尔勒|阿克苏|阿拉尔|哈密|克拉玛依|昌吉|奎屯|米泉|和田|塔城

过滤省级关键词正则:
河南|安徽|福建|甘肃|贵州|海南|河北|黑龙江|湖北|湖南|吉林|江苏|江西|辽宁|青海|山东|山西|陕西|四川|云南|浙江|台湾|广东|广西|内蒙古|宁夏|西藏|新疆

百度移动自从推出了自家产品 优质问答和科普文章后,直接xpath是无法定位到目标网站。

定位测试文本:
[quote color="success"]<div target="_self" data-visited="off" aria-roledescription="搜索结果第1条.标题" role="button" class="" data-module="c-t"><h3 data-a-442b8abb="" role="text" class="c-title"><span data-a-442b8abb="" class="c-title-text">磨骨痛吗 - 优质问答</span><!----><!----><!----></h3><!----></div>

<div target="_self" data-visited="off" aria-roledescription="搜索结果第2条.标题" role="button" class="" data-module="c-t"><h3 data-a-442b8abb="" role="text" class="c-title"><span data-a-442b8abb="" class="c-title-text">磨骨痛吗 - 科普文章</span><!----><!----><!----></h3><!----></div>

<div target="_self" data-visited="off" aria-roledescription="搜索结果第3条.标题" role="button"><h3 data-a-442b8abb="" role="text" class="c-title clamp-strategy-l1s2"><span data-a-442b8abb="" class="c-title-text">我近5个月来的削骨经历分享,短暂的痛苦换来一生的美丽...</span></h3></div>[/quote]

正则提取 :搜索结果第(d+)条.标题" role="button"> 分组保存至bdm_zsrank

xpath规则://div[@aria-roledescription='搜索结果第{-var.bdm_zsrank-}条.标题']

点击判断
如果包含 data-module="c-t">
则 xpath索引1 就是真实目标位置了
不包含 xpath索引0 就是真实目标位置了

这样就不用客户输入网址品牌中文了,只需要输入域名就能精准定位。