一、反爬策略 

  1、请求头

    ——user-agent
    ——referer
    ——cookie

  2、访问频率限制

    ——代理池
    ——再用户访问高峰期进行爬取,冲散日志。12-13 7-10
    ——设置等待时长。time.sleep(3)

  3、ajax异步请求,用接口获取数据

  4、能一次性获取的数据,绝不发送第二次请求(获取数据的过程中尽量减少请求次数)

  5、页面内容是js代码

    selenium+phantomjs的组合进行页面内容的获取

二、html页面的技术

  1、js:页面在请求html的过程中,服务器返回html,同时还会请求js文件。
  2、jqery:js的库,方便js开发。
  3、ajax:web的异步请求技术

三、selenium和phantomjs

  1、什么是selenium?

    selenium一个web自动化测试工具。【但是它本身是不带浏览器】。这个工具其实就是作为一些外部工具驱动来使用的,可以控制一些外部应用来完成自动化测试。

  2、phantomjs

    是一个内置无界面浏览器引擎。--无界面可以提高程序运行速度。
    因为phantomjs是一个浏览器引擎,所以他最大的功能就是执行页面的js代码。

  3、安装selenium和phantomjs

    selenium安装:pip install selenium==2.48.0
    phantomjs安装:百度phantomjs镜像--->下载一个Windows版本的————>phantomjs-2.1.1-windows.zip

    可视化的chrome浏览器插件:---chromedriver安装:
    下载:百度:chromedriver镜像

      (1)保证chrome是正版。
      (2)查看自己chrome的版本号:73.0.3683.86
      (3)找一个和自己版本号最接近的版本下载。

    将下载好的exe文件复制到:C:\Anaconda3\Scripts

【python爬虫】动态html的更多相关文章

  1. python爬虫动态html selenium.webdriver

    python爬虫:利用selenium.webdriver获取渲染之后的页面代码! 1 首先要下载浏览器驱动: 常用的是chromedriver 和phantomjs chromedirver下载地址 ...

  2. 数据之路 - Python爬虫 - 动态页面

    一.Ajax数据爬取 1.Ajax介绍 Ajax,全称为Asynchronous JavaScript and XML,即异步的JavaScript和XML. 它不是一门编程语言,而是利用JavaSc ...

  3. Python爬虫动态User-Agent

    下载库fake_useragent 然后就可以随心所欲的使用不同UA了

  4. Python爬虫老是被封的解决方法【面试必问】

    在爬取的过程中难免发生 ip 被封和 403 错误等等,这都是网站检测出你是爬虫而进行反爬措施,在这里为大家总结一下 Python 爬虫动态 ip 代理防止被封的方法. PS:另外很多人在学习Pyth ...

  5. [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论

    前面几篇文章介绍了Selenium.PhantomJS的基础知识及安装过程,这篇文章是一篇应用.通过Selenium调用Phantomjs获取CSDN下载资源的信息,最重要的是动态获取资源的评论,它是 ...

  6. Python爬虫实战(4):豆瓣小组话题数据采集—动态网页

    1, 引言 注释:上一篇<Python爬虫实战(3):安居客房产经纪人信息采集>,访问的网页是静态网页,有朋友模仿那个实战来采集动态加载豆瓣小组的网页,结果不成功.本篇是针对动态网页的数据 ...

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

    Python 爬虫修养-处理动态网页 本文转自:i春秋社区 0x01 前言 在进行爬虫开发的过程中,我们会遇到很多的棘手的问题,当然对于普通的问题比如 UA 等修改的问题,我们并不在讨论范围,既然要将 ...

  8. python爬虫12 | 爸爸,他使坏,用动态的 Json 数据,我要怎么搞?

    在前面我们玩了好多静态的 HTML 想必你应该知道怎么去爬这些数据了 但还有一些常见的动态数据 比如 商品的评论数据 实时的直播弹幕 岛国动作片的评分 等等 这些数据是会经常发生改变的 很多网站就会用 ...

  9. Python动态网页爬虫-----动态网页真实地址破解原理

    参考链接:Python动态网页爬虫-----动态网页真实地址破解原理

  10. 【音乐爬虫】Python爬虫-selenium+browsermob-proxy 解决动态网页 js渲染问题

    1.一般的python爬虫很简单,直接请求对应网址,解析返回的数据即可,但是有很多网站的数据的js动态渲染的,你直接请求是得不到对应的数据的 这时就需要其它手段来处理了. 2.以一个例子来说明,整个过 ...

随机推荐

  1. 自动化办公:xlsxwriter操作Excel

    转载原链接:https://www.jianshu.com/p/d685cfaaeef7 1.安装 pip install xlsxwriter 2.操作一个简单的Excel文档 # 引入依赖模块 i ...

  2. maven将Jar安装进仓库

    mvn install:install-file -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.4 -Dpac ...

  3. [转帖]BurpSuite简介

    BurpSuite简介 https://bbs.ichunqiu.com/thread-54760-1-1.html BurpSuite ,这是一个辅助渗透的工具,可以给我们带来许多便利.Burp 给 ...

  4. DRF框架(七) ——三大认证组件之频率组件、jwt认证

    drf频率组件源码 1.APIView的dispatch方法的  self.initial(request,*args,**kwargs)  点进去 2.self.check_throttles(re ...

  5. leetcode的Hot100系列--347. 前 K 个高频元素--hash表+直接选择排序

    这个看着应该是使用堆排序,但我图了一个简单,所以就简单hash表加选择排序来做了. 使用结构体: typedef struct node { struct node *pNext; int value ...

  6. git 学习笔记 --- Rebase

    在上一节我们看到了,多人在同一个分支上协作时,很容易出现冲突.即使没有冲突,后push的童鞋不得不先pull,在本地合并,然后才能push成功. 每次合并再push后,分支变成了这样: $ git l ...

  7. HBase 系列(一)—— HBase 简介

    一.Hadoop的局限 HBase 是一个构建在 Hadoop 文件系统之上的面向列的数据库管理系统. 要想明白为什么产生 HBase,就需要先了解一下 Hadoop 存在的限制?Hadoop 可以通 ...

  8. 【Maven基础入门】01 Maven的安装与环境变量的配置

    写在前面: Mavne,作为一个优秀的项目构建工具,虽说我们平时在使用的时候或多或少的会使用到它,但了解仅限于它能构建项目,然后其他的就不知道了. 以及仓库.POM父类文件.等等. 工欲善其事,必先利 ...

  9. navicat连接mysql出现2059

    1.找到mysql的目录:C:\Program Files\MySQL\MySQL Server 8.0\bin 2.清空此目录,输入cmd,回车 3.在控制台输入:mysql -u root -p ...

  10. 浅谈有趣的 //go: 指令

    前言 如果你平时有翻看源码的习惯,你肯定会发现.咦,怎么有的方法上面总是写着 //go: 这类指令呢.他们到底是干嘛用的? 今天我们一同揭开他们的面纱,我将简单给你介绍一下,它们都负责些什么 go:l ...