Python爬虫开发(四):动态加载页面的解决方案与爬虫署理

访客5年前黑客工具509

假如读者读过我前面的关于爬虫的文章,应该大约都清楚咱们现在能够对一个静态的web页面”随心所欲“了,可是技能的开展总是没有止境的,仅仅是这样对静态页面处理远远不够,要知道现在许多的web页面有意无意为了避免静态爬虫运用ajax技能动态加载页面,这就导致了在面临这些网站的时分,咱们前面的技能并不能起到什么很好的作用,所以,我在本系列文章最初就说了会供给动态加载网页的处理计划,在这篇文章里,笔者就在这儿提出这个处理计划,用来处理曾经咱们没有办法的问题。
0×01 动态页面处理计划Selenium+Phantom ***
Python2(或Python3)      本文运用Python2.7.11
Selenium                            自动化web测验处理计划
Phantom ***                          一个没有图形界面的浏览器
0×02 原理回忆比照

评论:讲selenium自动化测验技能运用于爬虫数据发掘,其实我也是阅历了一段时刻的考虑,有一些根底的朋友们可能会知道,BeautifulSoup这种彻底根据静态的web页面剖析是没有办法履行 *** 的,可是咱们在运用web的进程中,根本不行能不用到 *** 脚本,其时我就想寻觅一个 *** 引擎整合BeautifulSoup,然后计划运用Spidermonkey这个技能,假如需求这么做的话,咱们会发现,咱们不只要用BeautifulSoup爬取页面的方针元素,并且还要考虑爬取 *** 脚本,在履行这些js脚本后,咱们还需求再次剖析这些脚本回来的数据或许是对HTML页面发生的影响,我觉得这样加大了太多的不确定要素,咱们不想花太多的时刻放在脚本编写上,已然选用Python,就要发挥它的巨大Pythonic的优势。然后还有一个处理计划便是Ghost.py,github主页。我想或许咱们经过这个计划介绍的不只仅是爬虫,也可能是一个新世界的大门,所以我仍是挑选selenium吧,web自动化测验的一整套处理计划。
其实咱们从BeautifulSoup的处理计划过度到selenium的计划便是一个思想上的“让步“的进程,从直接HTML解析->剖析 *** ->webkit->干脆直接用headless浏览器来操作web页面的selenium。
所以也便是说,咱们接下来要评论的selenium用于爬虫和曾经学习的静态页面处理有着实质的差异,能够以为对咱们来说是一个全新的技能。
0×03 Quick Start
在这儿咱们首要能够很负责任的说,经过以下的比如并不会让读者彻底把握selenium的运用,可是经过着手,咱们能够了解到selenium对错常好用并且并不输于BeautifulSoup的(或许这两个并不是一个等级并不能比较)。可是能够说BeautifulSoup中的定位元素,在selenium中都能够做到,并且Selenium能够设置等候时刻让页面完结加载,或许设置条件让web页面加载出咱们所需求的数据然后再获取数据。
下载与装置:
首要咱们需求下载要给Phantom *** 浏览器from官网。
然后装置selenium,运用easy_install或许pip都能够很便利的装置:
1.easy_install selenium
2.pip install selenium
然后咱们的之一个方针页面http://pythonscraping.com/pages/javascript/ajaxDemo.html很简略,便是一个存在ajax的状况:页面如下:
html>
head>
title>Some JavaScript-loaded contenttitle>
script src="../js/jquery-2.1.1.min.js">script>
 
head>
body>
div id="content">
This is some content that will appear on the page while it's loading. You don't care about scraping this.
div>
 
script>
$.ajax({
    type: "GET",
    url: "loadedContent.php",
    success: function(response){
 
        setTimeout(function() {
            $('#content').html(response);
        }, 2000);
    }
  });
 
function ajax_delay(str){
 setTimeout("str",2000);
}
script>
body>
html>
咱们简略看到这个web页面是运用ajax动态加载数据,GET恳求LoadedContent.php然后把成果直接显现在content里。关于这样的办法咱们并不需求太深化了解,总归咱们只需求知道咱们假如运用传统的办法获取,得到的便是上面的静态html而没有loadedContent.php中的内容。
作为selenium的爬虫运用quickstart,咱们没必要太深化解说原理,咱们需求把Phantom *** 和python脚本放在同一个文件夹下,树立selenium_test.py文件夹

然后输入selenium_test.py中的内容:
#引进selenium中的webdriver
from selenium import webdriver
import time
#webdriver中的Phantom *** 办法能够翻开一个咱们下载的静默浏览器。
#输入executable_path为当时文件夹下的phantomjs.exe以发动浏览器
driver =webdriver.Phantom *** (executable_path="phantomjs.exe")
 
#运用浏览器恳求页面
driver.get("http://pythonscraping.com/pages/javascript/ajaxDemo.html")
#加载3秒,等候一切数据加载结束
time.sleep(3)

[1] [2]  黑客接单网

相关文章

商业网站已经没有什么系统软件难题了

商业网站已经没有什么系统软件难题了

原本对系统组件间隙,已经没有什么喜好了. 由于如今补丁下载出得迅速.商业网站已经没有什么系统软件难题了. 即使你应用twwwscan,namp等杀伤力很强的扫描枪也不太可能扫...

黑客接单平台:想不到历史上这些技术竟然连黑客都会中招

黑客接单平台:想不到历史上这些技术竟然连黑客都会中招

什么是蜜罐? 蜜罐技能相当于情报搜集体系,成心将体系或网络设置出缝隙,诱导进犯方对它们进行进犯,这样就能够知道进犯者是怎么进犯,运用何种技能,然后对数据,或进犯手法进行剖析,然后稳固自己的防护体...

破解word密码_黑客网站那里找-黑客技术通过微信找手机

「破解word密码_黑客网站那里找-黑客技术通过微信找手机」一个邮件软件木马程序为了便利长途的文件更新,会把恶意代码放在长途的一个服务器中,并且会对这个文件进行加密,需求在本地解密,然后装载到内存中,...

黑客j接单_黑客帝国找李连杰主演-如何找黑客高手

db_namp C2黑客j接单,黑客帝国找李连杰主演 SQLServer 2000 版别号 SQL Server 2000 版别描述黑客j接单,黑客帝国找李连杰主演,如何...

微信消息频繁多久解除,找黑客百度知道,女生找黑客黑女生手机电脑目的

让服务器发送一些非HTML的数据,比方让服务器发送邮件给你,检查邮件原文即可取得SMTP服务器的实在IP。 我了解的应急呼应是对突发的不知道的安全事情进行应急呼应处理。 这种状况一般都是“被黑”了。...

免费的黑客接单,可以找黑客的软件,女生QQ上找黑客修电脑的段子

Local f = io.open(‘asdm/’..cookie, “r”)其官网展现的插屏广告是在软件内的插屏,实际上在其广告SDK开发文档中,还支撑在本身软件外弹插屏广告,这也正是3.15曝光的...