美文网首页
发现杯_大数据项_爬虫

发现杯_大数据项_爬虫

作者: 过气海豹 | 来源:发表于2019-03-12 20:13 被阅读0次

爬虫

  1. 定义:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。(摘自百度百科)

  2. 项目简介:用python爬取猫眼电影的想看用户画像及电影信息

  3. 环境配置:

3.1. python版本3.7.0

3.2. 用到的库:请求库:requests;解析库:beautifulsoup、lxml;

  1. 技术要点:

4.1. 抓取分析

4.1.1. 我们以猫眼专业版的想看用户画像为例,我们需要抓取的目标站点为https://piaofang.maoyan.com/movie/’offset’/wantindex?,’offset’可换成电影id,由此我们便又遇到一个问题,如何获取大量的有效的电影id。

4.1.2. 经过观察比较我们发现,猫眼主站和猫眼专业版的电影id是共用的,而猫眼主站的“电影”标签里的“经典影片”是存在以往的大量电影的,而且由于是传统的翻页式网页,利用get方法便可以比较容易的获得网页,进而找到网页里存在的“movieId”,爬取存到文件夹里备用即可。

4.1.3. 由此我们获取了大量的电影id,接下来便可以爬取用户画像了。利用beautifulsoup便容易得到大部分信息,除了“受众性别占比”和“教育程度”这两项,我们放到遇到的问题模块来讲。

4.2. 抓取首页:因为猫眼主站和猫眼专业版均为get请求,因此我们利用requests库中的get方法,传入url和headers,返回的即是html。当客户端状态码为200时代表我们成功获得了html,这是第一步。当我们得到html时,我们便可以开始进一步获取我们想要的信息了。注:传入headers是来传递头信息,有时候没有传入headers会得不到网页信息,进而影响后边整个工程项目。

4.3. 获取信息:经过之前的分析,我们可以开始着手获取想要的信息了。借助强大的beautifulsoup库,我们能获取除去存在字体反爬的地方之外的大部分信息,只需要找到信息所对应的selector(使用chrome浏览器会使你更加容易获得selector)即可。最后将爬取的数据整理,即可得到整洁的数据。

  1. 技术难点:

5.1. 猫眼字体反爬:猫眼作为一个商业网站,网站上的数据自然是有商业价值的,因此存在一些反爬技术,字体反爬就是其中之一。当我们查看网页源代码时,会发现一些关键的数字信息在网页上是没有显示的,爬下来也是类似于乱码。例如想看用户画像中的性别占比和教育程度,还要猫眼主站的票房评分等关键信息。第一次是在用户画像网站遇到的这个问题,不过用户画像网站上述两者可以通过爬取统计线条的宽度来间接解决这个棘手的难题,因为宽度是始终随着比列变化的。然而这个问题一直留到了爬取猫眼主站的时候才不得不面对。经过反复观察和查询大量参考资料得知,基本原理是这样的:当我们每次访问猫眼网站的时候,网站会自动请求一个woff字体文件,乱码的数据的规则就存在woff字体文件中,并且更难的是,每次请求电影页面时使用的woff都不是同一个文件。这样的话,我们只能先将利用TTFont打开woff,然后将woff转换为xml的形式,在xml中我们可以直接找到字体的相关数据,比如一个字符的笔画信息,这个是不变的,也是实现爬取的关键所在。这样的话我们只需要一个模板,先记录每个字符的画法,然后在每次请求这个网页的同时,先爬取woff地址,将woff文件下载到本地,与模板对比进行解析,就可以实现对关键数据的解密了。

相关文章

  • 发现杯_大数据项_爬虫

    爬虫 定义:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的...

  • selenium+python破解滑动验证码

    最近在参与公司大数据项目的测试,其中部分数据来源于网络爬虫,想用selenium辅助测试,无奈有验证码(滑动验证码...

  • 发现杯

    考完试 就这一个表情 程序只写出来一半就算了 它还下不到板子里去 半个多小时都在往板子里下程序 好不容易下完了 调...

  • 认识爬虫

    前言 我的爬虫笔记 经常看别人通过爬虫分析数据,很有意思,来了兴趣,就开始了爬虫之路。 爬虫 爬虫,即网络爬虫,大...

  • 【爬虫其实很简单】系列教程开坑了

    这两天在准备泰迪杯的比赛,我们选的题目需要用爬虫来解决。所以我也开始学习了一点爬虫。在学习的过程中发现网上不乏好的...

  • CNN大战验证码

    介绍   爬虫江湖,风云再起。自从有了爬虫,也就有了反爬虫;自从有了反爬虫,也就有了反反爬虫。  反爬虫界的一大利...

  • Python爬虫入门(urllib+Beautifulsoup)

    Python爬虫入门(urllib+Beautifulsoup) 本文包括:1、爬虫简单介绍2、爬虫架构三大模块3...

  • scrapy0700:深度爬虫

    scrapy深度爬虫 ——编辑:大牧莫邪 本章内容 深度爬虫概述 scrapy Spider实现的深度爬虫 scr...

  • 网站反爬虫

    爬虫和反爬虫作为相生相克的死对头,无论爬虫多厉害,都是能被复杂的反爬虫机制发现,同样的,无论反爬虫机制多么缜...

  • 爬虫0010:概述

    爬虫概述 ——编辑:大牧莫邪 1. 目录清单 爬虫简介 通用爬虫和聚焦爬虫 网络请求那些事儿 网络数据抓包分析 2...

网友评论

      本文标题:发现杯_大数据项_爬虫

      本文链接:https://www.haomeiwen.com/subject/aclopqtx.html