您当前的位置: 首页 > 新闻中心 > 行业新闻
Hawk: 20分钟无编程抓泛亚电竞app取大众点评17万数据

发布时间:2023-08-27 17:27:57    浏览:

  本文将讲解通过本软件,获取大众点评的所有美食数据,可选择任一城市,也可以很方便地修改成获取其他生活门类信息的爬虫。

  看完这篇文章,你应该就能举一反三地抓取绝大多数网站的数据了。Hawk是一整套工具,它的能力取决于你的设计和思路。希望你会喜欢它。详细过程视频可参考:,值得注意的是,由于软件不断升级,因此细节和视频可能有所出入。准备好了么?Lets do it!

  依赖环境要求Framework 4.5, win7和以上版本。没有其他依赖项。

  这是北京的北京菜列表,但你会注意到,只能抓取前50页数据(如箭头所示),是一种防爬虫策略,我们之后来破解它。

  但会发现远程服务器拒绝了请求,原因是大众点评认为Hawk是爬虫而不是浏览器。

  开始。浏览器会自动打开该网页,程序后台自动记录了所有的行为,之后点击关闭按钮(切记点击关闭)。(此处大概介绍原理:Hawk在点击开始之后,会自动成为代理,所有的浏览器请求都会经过Hawk,在输入特定的URL筛选前缀和关键字,则Hawk会自动拦截符合要求的Request,并将其详细信息记录下来,并最终模拟它)。

  完成这一步之后,我们就能够像普通网页那样免登陆抓取信息了。这也适合需要登录的各类网站。

  注意XPath表达式和点评的表达式不大一样,这是因为89太普通,在网页中出现多次,再次点击

  类似地,将所有你认为需要的属性添加进去,加上合适的命名,大概是这个样子:当然,我们还需要门店的ID,但在页面上并不提供,那在浏览器上点击那个“四季民福烤鸭店”(沙漠君厌恶吃鸭子),你会看到它的链接为:

  笔者建议自动加手动配合的方式,自动抓取大部分数据,再用手动修改调整,手气不错虽然智能,但并不是什么时候都管用

  生成区间数,双击配置列名为page,最大值填50,再拖入合并多列到page列,配置如下:其中Format设置为:

  这是C#的一种字符串替换语法,{0}会被依次替换为1,2,3...最后,拖从爬虫转换

  任意一列,这里选择了名称列,配置如下:之后,在右侧选择并行或串行模式(随你),点击执行

  如果看到这一步累了,可以不看下面的内容,但如果想获取全部内容,步骤就复杂多了,如果你下决心学习,我们接着往下看

  通用采集器,它的目标是获取整个HTML页面,因此读取模式改成One,将刚才

  门店列表采集器里的高级设置-Parameters的内容拷贝到本采集器对应的窗口中。(其实也可以做嗅探,但这个更快一些)。之后,我们来获取这个页面上的所有美食门类,新建数据清洗

  所在的位置,虽然可以用Hawk,但为了方便可以使用Chrome,搜狗和360浏览器的F12开发者工具功能,找到对应的元素,点击右键,拷贝XPath:

  因为要获取所有的子li,在刚才的数据清洗中,向Content列拖入XPath筛选器,配置如下:

  由于要获取所有的li子节点,所以去掉了最后的1,可以适当复习XPath语法。奇迹出现了:

  这些节点的XPath是://*[@id=region-nav]/a你可以按照刚才类似的步骤进行,也是创建新的

  区域,最终结果如下:如果自己做不下来,也没有关系,加载Github上大众点评的

  朝阳区-火锅等等,获取对应序对的页数,再将所有结果拼接起来。准备好了么?我们继续。新建

  主流程,我们要调用刚才定义的模块,拖入子流-生成到任意一列,配置如下:记得要勾选启用

  {0}{1}相当于组合了多个元素,拖入的当前列为第0元素,其他项用空格分割,分别代表第1,2...个元素。为了获取每个门类的页数,需要在页面上找一下:

  。执行器会将每一个门类区县对分配一个独立的线程,注意方括号[url]的写法,系统会把url列的内容赋值到这里,如果你只写url,那所有的线程名称都叫url了。你可以不添加流实例化,看看系统最后是怎么工作的。

  注意Cross和[page],我就不多解释了。把刚才的url和现在的p列合并,就构成了每一页的真实url.

  仔细理解一下配置的意思,尤其是{0}p{1},我觉得读者到了这一步,已经对整个系统有点感觉了。雄关漫道真如铁,我们马上到达目的地了。

  本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击泛亚电竞官网

友情链接