HI,欢迎您光临本站,秉承服务宗旨,销售只是起点,服务永无止境!
    • 短视频文案
      • 励志哲理
      • 名言美句
      • 情感语录
      • 回复热评
      • 解说文案
    • 短视频素材
      • 情感励志
      • 美食小吃
      • 体育运动
      • 生活人文
      • 妙招好物
      • 风景风光
      • 影音娱乐
      • 颜值时尚
      • 游戏动漫
      • 自然景观
    • 短视频课程
      • 同城课程
      • 带货课程
      • 投放课程
      • 玩法课程
    • 中视频素材
    • 短视频工具
    • 副业项目
资源分享吧
  • 首页
  • CMS模板host
    • DEDECMS模板965
    • 易优CMS318
    • WordPress模板146
    • Discuz模板101
    • 帝国CMS102
    • 苹果cms78
    • Pbootcms24
    • zblog模板2
  • 整站源码
    • 教育/交友/直播76
    • 商城/淘宝/网店26
    • 门户/论坛/信息27
    • 小说/新闻/博客76
    • 电影/视频/音乐22
    • 图片/素材/下载49
    • 支付/金融/货币356
    • 导航/目录/友链25
    • 会员/推广/任务57
    • 公众号/小程序/游戏133
  • 一元夺宝new
    E启学在线网校网站在线教育校园教学平台程序系统V1.0源码
    E启学在线网校网站在线教育校园教学平台程序系统V1.0源码
    Laravel开发MeEdu在线点播网站源码 知识付费应用系统源码
    Laravel开发MeEdu在线点播网站源码 知识付费应用系统源码
    一比一精仿电影挖片网苹果cmsv10模板
    一比一精仿电影挖片网苹果cmsv10模板
    织梦高仿dede58织梦模板下载站完整无错整站版源码 1.69GB打包
    织梦高仿dede58织梦模板下载站完整无错整站版源码 1.69GB打包
    蓝色清晰织梦资源网下载站源码
    蓝色清晰织梦资源网下载站源码
    全景通旗舰版最新源码 内核到krpano1.19pr8 支持任何高清图
    全景通旗舰版最新源码 内核到krpano1.19pr8 支持任何高清图
    thinkPHP音视频素材资源下载站整站源码 带会员系统+支付接口
    thinkPHP音视频素材资源下载站整站源码 带会员系统+支付接口
    仿集图网模板图片素材类模板织梦下载站源码带整站数据
    仿集图网模板图片素材类模板织梦下载站源码带整站数据
    织梦蓝色图纸展示类企业网站源码
    织梦蓝色图纸展示类企业网站源码
    Thinkphp5.0响应式进销存仓库管理系统源码
    Thinkphp5.0响应式进销存仓库管理系统源码
    prev
    next
  • 网页素材
    • 网页游戏148
    • 网页模板4723
    • 特效代码5467
  • 办公素材
    • PPT模板377
    • 简历模板0
  • 站长学院
    • DEDE教程352
    • wordpress教程416
    • SEO教程124
    • 其它文档教程13
  • 更多
    • 办公教程4
    • 群辉教程12
    • 电脑基础7124
    • GPS导航
    • 安卓系统15
      • Android资讯2
      • ROM0
      • 教程工具0
    • Win系统169
      • Windows XP3
      • Windows 77
      • Windows 80
      • Windows 1012
      • 服务器系统1129
      • Win主题12
      • Win教程26
      • Win资讯0
      • Win软件98
    • 站点标签
    • 更新日志
    • 其他10
登录/注册
  • 精品会员专享
  • 会员折扣下载
  • 每日海量更新
立即开通 开通会员抄底价
当前位置:资源分享吧 > Python 爬虫修养-处理动态网页
也想出现在这里? 联系我们吧

Python 爬虫修养-处理动态网页

作者 : 小编 本文共2422个字,预计阅读时间需要7分钟 发布时间: 2021-06-20 共1.82K人阅读
也想出现在这里? 联系我们吧

在爬虫开发中,大家可以很轻易地bypass所谓的UA限制,甚至用scrapy框架轻易实现按照深度进行爬行。但是实际上,这些并不够。关于爬虫的基础知识比如数据处理与数据存储多线程之类的。

请大家移步FB:

该系列文章都是本人所写,能力有限请多包涵。

0x01前言

在进行爬虫开发的过程中,我们会遇到很多的棘手的问题,当然对于普通的问题比如UA等修改的问题,我们并不在讨论范围,既然要将修养,自然不能说这些完全没有意思的小问题。

0x02Selenium+PhantomJS

这个东西算是老生长谈的问题吧,基本我在问身边的朋友们的时候,他们都能讲出这条解决方案:

Selenium+PhantomJS(FirefoxChrome之类的)

但是真正的有实践过的人,是不会把这个东西投入生产环境的,首先最大的问题就是Selenium+PhantomJS非常的慢,这种慢的原因就是因为他要加载这个网页所有的内容,比如图片资源,link中的CSS,JS都会加载,而且还会渲染整个网页,在渲染结束之后才会允许你操作网页的元素。当然可能会有读者问,Selenium作为可以自动化编写测试脚本的一个模块,他是自带HOOK功能的,在Selenium的API中也有介绍说Selenium可以控制等待某一个元素加载成功时返回页面数据。

没错的确是这样的,我们确实可以使用Selenium的内置api去操作浏览器完成各种各样的操作,比如模拟点击,模拟填表,甚至执行js,但是最大的问题我们还是没有解决:归根结底是操作浏览器来进行工作的,启动需要打开浏览器(等待一定时间),访问网页之后渲染,下载相应资源,执行JS,这么多的步骤,每一个步骤都需要或多或少的等待时间,这就好比,我们就是在使用浏览器做这样的事情,只不过是加上了精准的鼠标定位而已。

当然说了这么多,Selenium虽然不适合做生产解决方案,也并不是没有别的解决办法了。

0x03execjs

execjs是一个在Python中执行js的模块,听到这个,大家可能会觉得耳目一新:欸?那我是不是可以爬虫爬下来js代码然后手动控制js执行,然后就可以控制自己想要的元素,拿到想要的结果,而且也并不丢失效率。

但是我要说这样的想法,实际上是非常的naive,虽然有了这个js引擎,但是,我们需要很多很多的轮子,为什么呢?来听我一步一步解释:

1.js的强大之处其实并不在于松散的语法与容错,而是在于对BOM对象和DOM对象的操作。举个例子来说,比如,一个网页的表单,是通过操作执行js来提交的。那么,问题就在于你有办法仅仅用这个execjs来执行这段js来提交表单么?显然,这是行不通的。为什么呢?因为对于我们来说的话execjs是一个独立的模块,我们没有办法把我们静态扒下来的html文档和execjs建立联系。

2.如果非要建立联系,那么你需要自己完成js对html的DOM对象的绑定,具体怎么完成呢?js在浏览器中怎么与DOM树绑定,你就需要怎么去做。但是要怎么做啊,首先你需要一个自己构建DOM树,然后才能进行手动绑定。这个轮子,确实是非常的大。

但是如果你真的有大把的时间,那么应该怎么去做这个事情呢?没错要不你去HOOK一个webkit要不你去自己构建一个html的解析器。那么我就在这里稍微提一下这个很有趣的事情:如果构建一个HTML解析器:

最近有用PLY写过一个Lexer当时准备做个解析DOM树的HTML解析器,自己实践第一步也是觉得这个东西理论上是完全可行的,但是能不能完成就要看个人毅力和你个人的编程能力了。

0x04Ghost

关于Ghost的话,其实我个人是比较推崇的,但是其实他也并不是特别完美,它对我来说,更像是一个Selenium与PhantomJS的结合体,怎么说呢,实际上ghost这个模块用的是QT中的webkit,在安装的时候就得被迫安装pyside或者pyqt4,实际上我当时还是很难理解为什么一个这个东西没有图形界面要使用qt和pyside这种东西作为引擎呢?单独构造一个浏览器引擎真的就这么困难么?其实装好了也没什么关系,毕竟我觉得还是要比Selenium配PhantomJS好用的。

话说回来,我们就来讨论一下这个Ghost的一些问题。

首先,使用Ghost的一个好处是我们并不需要再将一个binary的浏览器放在路径下了,以至于我们不需要去花费时间打开浏览器了,因为ghost就是一个功能完全的Python实现(借助qt的webkit)的轻量级没有图形化的浏览器。

而且,ghost在初始化的时候,有一个选项可以不下载图片,但是没有办法阻止它下载js和css,其实这个也是可以原谅的,毕竟自己在使用的时候,也是需要自己去下载js在本地筛选。

于此同时ghost还是提供了相应的API这些API和selenium的API功能基本差别不是特别大,也会有处理表单,执行ajax去加载动态页面,这样来说ghost是一个完美的解决方案么?

其实还是有他自己的缺点的,就是我们还是不能完全控制每一个过程,比如我们如果只想让它解析DOM树,不动态执行js脚本,而且,我想获取他的DOM树手动进行一些操作。这些都是没有办法的。但是也并不是完全没有办法,比如国内某厂他们就做了HOOK了一个浏览器去检测XSS这个思路我们可以在以后的文章中提出,具体的操作的话,这就要看大家的编程功底了。

0x05原理总结

当然,懂得归纳的读者其实早就已经看出来了,对动态网页(通过js加载)的网页的信息采集,主要分成三种方案:

1.基于实体浏览器操作解决方案(适用于测试环境不适用于大量信息采集)。

2.基于深度控制JS脚本执行的解决方案(速度最快,编写难度最大)。

3.基于webkit的解决方案。(相对较为折衷)

本文转自:i春秋社区

原文地址:http://bbs.ichunqiu.com/thread-11098-1-1.html?from=jbzj

技术网络漏洞 漏洞 漏洞分析 网站漏洞检测 网络安全WEB漏洞
1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » Python 爬虫修养-处理动态网页

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html
小编

小编 VIP

分享到:
上一篇
对中国书画联盟以及站长网站的友情检测(图文)
下一篇
Kindeditor遍历目录0DAY问题

发表评论 取消回复

要发表评论,您必须先登录。

最新文章
餐饮火锅加盟网站pbootcms模板源码
餐饮火锅加盟网站pbootcms模板源码
源码下载新闻资讯博客网站pbootcms模板
源码下载新闻资讯博客网站pbootcms模板
绿色人造草坪地坪施工网站源码pbootcms模板
绿色人造草坪地坪施工网站源码pbootcms模板
红色火锅加盟网站pbootcms模板源码
红色火锅加盟网站pbootcms模板源码
蓝色源码钢结构工程基建网站pbootcms模板
蓝色源码钢结构工程基建网站pbootcms模板
标签云
DEDECMS (483) dedecms教程 (326) eyoucms (270) html (364) html5 (1717) html模板 (733) Linux (1245) linux教程 (1245) wordpress教程 (380) 下载 (277) 代码 (816) 企业网站模板 (874) 企业网站模板下载 (874) 免费企业网站模板 (874) 入侵防御 (270) 公司网站模板 (874) 切换 (502) 动画 (594) 国内网站模板 (324) 图片 (582) 技术网络漏洞 (347) 插件 (447) 效果 (765) 源码 (381) 漏洞 (371) 漏洞分析 (347) 特效 (789) 电脑使用 (4064) 电脑操作 (4064) 短视频素材 (606) 笔记本电脑价格 (4037) 笔记本电脑品牌排行 (4037) 笔记本电脑知识 (4037) 笔记本电脑评测 (4037) 素材 (483) 织梦 (407) 织梦教程 (342) 网站模板 (436) 网站源码 (417) 网站漏洞检测 (347) 网络安全WEB漏洞 (347) 菜单 (299) 视频 (376) 这是 (345) 鼠标 (417)

限时优惠

【阿里云】云产品采购季,助力行业复工。新用户专享1折起,云服务器低至0.75折,更多产品可叠加专属代金券下单
立即查看

相关推荐

Cisco Unified Communications 远程命令执行漏洞
小编小编

Cisco Unified Communications 远程命令执行漏洞

受影响系统: Cisco Emergency Responder 2.x Cisco Unified Communications Manager Business Edition Cisco Unified Communications Manage...
  • 3.13K
  • 免费
  • 下载
php168 v6/v7鸡肋Getshell安全问题
小编小编

php168 v6/v7鸡肋Getshell安全问题

  刚搜了一下貌似和以前一个漏洞是一个问题。有点鸡肋,需要条件:   1.网站配置为:文章生成真静态   2.允许注册会员   给出v6的测试代码,提交后执行phpinfo(),v7原理一样,只是数据库字段数不一样。   member/list.php...
  • 2.32K
  • 免费
  • 下载
ECShop网店系统<=V2.6.2 后台拿webshell
小编小编

ECShop网店系统<=V2.6.2 后台拿webshell

ECSHOP前段时间出了个注射漏洞:http://bbs.wolvez.org/topic/67/,拿后台权限应该没有问题,但文章没有提及如何在后台拿shell。昨天可乐在t00ls.Net上发帖问如何拿shell,无聊中我baidu、google了下...
  • 1.33K
  • 免费
  • 下载
IBM Tivoli Storage Manager Express 堆溢出漏洞
小编小编

IBM Tivoli Storage Manager Express 堆溢出漏洞

受影响系统: IBM Tivoli Storage Manager Express 5.3 不受影响系统: IBM Tivoli Storage Manager Express 5.3.7.3 描述: Tivoli Storage Manager是一种...
  • 2.82K
  • 免费
  • 下载
  • 3076本站运营(天)
  • 62852用户总数
  • 26548资源数(个)
  • 2近7天更新(个)
  • 82301资源大小(GB)
加入VIP获取全站资源

「资源分享吧」 ZYFX8.CN

国内极具人气的网络源码资源交流学习平台
下载源码文章,学软件教程,找灵感素材,尽在「资源分享吧」

按Ctrl+D收藏本站

找资源就上「 资源分享吧 」

WWW.ZYFX8.CN

资源分享吧

资源分享吧(www.zyfx8.cn)是一家专门做精品素材的网站,网站以网站源码、网站模板、网页特效为主要内容,以“共享创造价值”为理念,以“尊重原创”为准则。

本站导航
  • 热门标签
  • 网站专题
  • 站点地图
更多导航
  • 申请友链
  • 用户协议
  • 免责声明
快速搜索
    友情链接 自助申请友链
  • RiTheme主题
  • wordpress主题
  • 在线PS修图
  • 源码下载
  • 网站模板
  • 资源分享吧
Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
资源分享吧(www.zyfx8.cn)是一家专门做精品素材的网站,以“共享创造价值”为理念,以“尊重原创”为准则。
  • 会员特惠
  • 签到
  • 客服

    在线客服

    点我联系

    直接说出您的需求!
    切记!带上资源链接与问题!

    工作时间: 9:30-21:30

  • 更新
    日历
  • 全屏
  • 首页

  • 签到

  • 切换

  • 客服

资源分享吧
  • 登录
  • 注册
or
or
忘记密码?
资源分享吧
  • 首页
  • CMS模板host ►
    • DEDECMS模板965
    • 易优CMS318
    • WordPress模板146
    • Discuz模板101
    • 帝国CMS102
    • 苹果cms78
    • Pbootcms24
    • zblog模板2
  • 整站源码 ►
    • 教育/交友/直播76
    • 商城/淘宝/网店26
    • 门户/论坛/信息27
    • 小说/新闻/博客76
    • 电影/视频/音乐22
    • 图片/素材/下载49
    • 支付/金融/货币356
    • 导航/目录/友链25
    • 会员/推广/任务57
    • 公众号/小程序/游戏133
  • 一元夺宝new
    E启学在线网校网站在线教育校园教学平台程序系统V1.0源码
    E启学在线网校网站在线教育校园教学平台程序系统V1.0源码
    Laravel开发MeEdu在线点播网站源码 知识付费应用系统源码
    Laravel开发MeEdu在线点播网站源码 知识付费应用系统源码
    一比一精仿电影挖片网苹果cmsv10模板
    一比一精仿电影挖片网苹果cmsv10模板
    织梦高仿dede58织梦模板下载站完整无错整站版源码 1.69GB打包
    织梦高仿dede58织梦模板下载站完整无错整站版源码 1.69GB打包
    蓝色清晰织梦资源网下载站源码
    蓝色清晰织梦资源网下载站源码
    全景通旗舰版最新源码 内核到krpano1.19pr8 支持任何高清图
    全景通旗舰版最新源码 内核到krpano1.19pr8 支持任何高清图
    thinkPHP音视频素材资源下载站整站源码 带会员系统+支付接口
    thinkPHP音视频素材资源下载站整站源码 带会员系统+支付接口
    仿集图网模板图片素材类模板织梦下载站源码带整站数据
    仿集图网模板图片素材类模板织梦下载站源码带整站数据
    织梦蓝色图纸展示类企业网站源码
    织梦蓝色图纸展示类企业网站源码
    Thinkphp5.0响应式进销存仓库管理系统源码
    Thinkphp5.0响应式进销存仓库管理系统源码
    prev
    next
  • 网页素材 ►
    • 网页游戏148
    • 网页模板4723
    • 特效代码5467
  • 办公素材 ►
    • PPT模板377
    • 简历模板0
  • 站长学院 ►
    • DEDE教程352
    • wordpress教程416
    • SEO教程124
    • 其它文档教程13
  • 更多 ►
    • 办公教程4
    • 群辉教程12
    • 电脑基础7124
    • GPS导航
    • 安卓系统15 ►
      • Android资讯2
      • ROM0
      • 教程工具0
    • Win系统169 ►
      • Windows XP3
      • Windows 77
      • Windows 80
      • Windows 1012
      • 服务器系统1129
      • Win主题12
      • Win教程26
      • Win资讯0
      • Win软件98
    • 站点标签
    • 更新日志
    • 其他10
文章展示
交易所源码搭建教程java多语言部署
交易所源码搭建教程java多语言部署
餐饮火锅加盟网站pbootcms模板源码
餐饮火锅加盟网站pbootcms模板源码
源码下载新闻资讯博客网站pbootcms模板
源码下载新闻资讯博客网站pbootcms模板
绿色人造草坪地坪施工网站源码pbootcms模板
绿色人造草坪地坪施工网站源码pbootcms模板
红色火锅加盟网站pbootcms模板源码
红色火锅加盟网站pbootcms模板源码
蓝色源码钢结构工程基建网站pbootcms模板
蓝色源码钢结构工程基建网站pbootcms模板
开通VIP 享更多特权,建议使用QQ登录
账号登录/注册
QQ登录
微博登录
×

    回馈用户限时特惠

    「 资源分享吧 」国内极具人气的网络资源交流学习平台,海量资源每天更新,优质资源畅快下载

    终身SVIP原价 590元,国庆限时活动价仅需 “ 59元 ”,终身免费~~机不可失~~


    立即开通永久会员>>

    yh** 刚刚下载了 2020最新酷睿