一.页面分析 首先打开猫眼电影,然后点击一个正在热播的电影(比如:毒液).打开开发者工具,点击左上角的箭头,然后用鼠标点击网页上的票价,可以看到源码中显示的不是数字,而是某些根本看不懂的字符,这是因为使用了font-face定义字符集,并通过unicode去映射展示,所以我们在网页上看到的是数字,但是在源码中看到的却是别的字符. 碰到这些根本看不懂的字符怎么办呢?不慌,右键选择查看网页源代码,然后找到相应的位置(如下图).那么是不是“”映射出来就是28呢? 通过查看源码,可以找到如下内容,…
字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是相应的字体编码,通过复制或者简单的采集是无法采集到编码后的文字内容的. 现在貌似不少网站都有采用这种反爬机制,我们通过猫眼的实际情况来解释一下. 下图的是猫眼网页上的显示: 检查元素看一下 这是什么鬼,关键信息全是乱码. 熟悉 CSS 的同学会知道,CSS 中有一个 @font-face,它允许网页开发者为其网页指定在线字体.原本是用来消除对用户电脑字体的依赖,现在有了新作用——反爬…
Python之爬虫-猫眼电影 #!/usr/bin/env python # coding: utf-8 import json import requests import re import time # 猫眼多了反爬虫,速度过快,则会无响应,所以这里多了一个延时等待 from requests.exceptions import RequestException def get_one_page(url): try: headers = { 'User-Agent': 'Mozilla/5…
背景交代 在反爬圈子的一个大类,涉及的网站其实蛮多的,目前比较常被爬虫coder欺负的网站,猫眼影视,汽车之家,大众点评,58同城,天眼查......还是蛮多的,技术高手千千万,总有五花八门的反爬技术出现,对于爬虫coder来说,干!就完了,反正也996了~ 作为一个系列的文章,那免不了,依旧拿猫眼影视"学习"吧,为什么?因为它比较典型~ 猫眼影视 打开猫眼专业版,常规操作,谷歌浏览器,开发者工具,抓取DOM节点, https://piaofang.maoyan.com/?ver=no…
python爬虫的一个常见简单js反爬 我们在写爬虫是遇到最多的应该就是js反爬了,今天分享一个比较常见的js反爬,这个我已经在多个网站上见到过了. 我把js反爬分为参数由js加密生成和js生成cookie等来操作浏览器这两部分,今天说的是第二种情况. 目标网站 列表页url:http://www.hnrexian.com/archives/category/jk. 正常网站我们请求url会返回给我们网页数据内容等,看看这个网站返回给我们的是什么呢? 我们把相应中返回的js代码格式化一下,方便查…
本次爬虫的爬取目标是大众点评上的一些店铺的店铺名称.推荐菜和评分信息. 一.页面分析 进入大众点评,然后选择美食(http://www.dianping.com/wuhan/ch10),可以看到一页有15家店铺,而除了店铺的名称,还能看到店铺的地址.推荐菜.评分等信息,看起来都没什么问题. 打开开发者工具,然后选择查看一下评分,就发现事情没那么简单了(如下图).这些评分的数字去哪儿了呢? 其实这些数字是SVG矢量图,SVG矢量图是基于可扩展标记语言,用于描述二维矢量图形的一种图形格式,通过使用不…
之前的章节也略有提及反爬策略,本节,我们就来系统的对反爬.反反爬的种种,做一个了结. 从防盗链说起: 自从论坛兴起的时候,网上就有很多人会在论坛里发布一些很棒的文章,与当下流行的“点赞”“分享”一样,很多人都会因为“欣赏”而选择“转发”到各大论坛.今时今日,我们大多数人在转载他人文章时,还会特别注明“转载自xxx”,可在以前,人们的意识还没有那么强,那时,在线播放的视频资源还是比较少的,转载的难度不高,手段也比较粗糙,仅凭复制粘贴就可以转载大部分的资源,导致优秀的作品很难找到出处,甚至搜索引擎前…
水平有限,仅供参考. 如图所示,汽车之家的车辆详情里的数据做了反爬对策,数据被CSS伪类替换. 观察 Sources 发现数据就在当前页面. 发现若干条进行CSS替换的js 继续深入此JS 知道了数据与规则,剩下的交给PYTHON. def repliceStr(browser,textJs,Js): _config_pos=textJs.find("return '.") JsSplit=textJs[_config_pos:_config_pos+70] ClassHead=re.…
今天准备爬取网页时,遇到『JS逆向AES加密』反爬.比如这样的: 在发送请求获取数据时,需要用到参数params和encSecKey,但是这两个参数经过JS逆向AES加密而来. 既然遇到了这个情况,那么辰哥就教大家如何去解决这类反爬(JS逆向AES加密) 01 网页分析 在开始分析JS逆向AES加密之前,先简单介绍一下要爬取的内容:下载某抑云音乐.其中获取歌曲的真实播放地址m4a的过程涉及到JS逆向AES加密. 点击播放,在浏览器中查看抓取到的数据包,如下图所示: 查看响应数据: 可以看到在ur…
待爬取的网页地址为https://maoyan.com/board/4,本次以requests.BeautifulSoup css selector为路线进行爬取,最终目的是把影片排名.图片.名称.演员.上映时间与评分提取出来并保存到文件. 初步分析:所有网页上展示的内容后台都是通过代码来完成的,所以,不管那么多,先看源代码 F12打开chrome的调试工具,从下面的图可以看出,实际上每一个电影选项(排名.分数.名字等)都被包括在dd标签中. 为了能把这些影片信息爬取出来,可以有以下两种思路.…