Python爬虫基础
文章平均质量分 69
Python爬虫过程在遇见个各种反爬虫措施及其应对方法
Jeeson_Z
这个作者很懒,什么都没留下…
展开
-
python爬虫基础(1:概述 requests模块引入)
爬虫:将数据从网上提取下来并保存的过程,分为三大步 下载源码 把包含数据的源码下载下来,需要学习requests模块的使用,这个过程是爬虫的难点,因为有反爬虫的措施、动态登录验证等 数据提取 从网页源码里面提取出需要的数据,这一步相对,简单只需要学习相关的库的使用,例如BueatifulSoup、re正则 数...原创 2018-07-26 11:00:47 · 917 阅读 · 0 评论 -
python爬虫基础(2:数据提取之BeautifulSoup)
数据提取工具有很多,这里只介绍BeautifulSoup的简单使用和小案例因为有写的很好的介绍博客,所以我直接粘链接BeautifulSoup介绍链接:https://cuiqingcai.com/1319.html案例依旧选用没有反爬的 豆瓣电影Top250第一步:获取源码简单的三句话# 导入requests模块import requests# 导入Beautif...原创 2018-07-30 10:24:27 · 1521 阅读 · 0 评论 -
python爬虫基础(3:数据提取之正则)
正则几乎可以提取任何数据,但是特别难写,一般其他解析库不能提取的时候才使用正则正则还可以用于数据清洗,本文案例的正则只用于简单的数据清洗正则介绍链接:https://cuiqingcai.com/977.html案例是上一篇(https://blog.csdn.net/jeeson_z/article/details/81279249)的 豆瓣电影Top250上次得到的结果:...原创 2018-07-30 11:41:47 · 1181 阅读 · 0 评论 -
python爬虫基础(4:数据保存)
保存数据的方式有很多,比如之前文章里用open()、write()保存到文本本篇将介绍保存到 mysql数据库 的方法准备工作建数据表、安装mysql的python驱动模块 pymysql案例依旧选择前面文章(https://blog.csdn.net/jeeson_z/article/details/81281770)的豆瓣电影Top250连接数据库(创建一个连接对象) ...原创 2018-07-30 20:35:57 · 759 阅读 · 4 评论 -
python爬虫基础(5:UA伪装)
前面的几篇我们了解了爬虫的大致过程源码下载 + 数据解析 + 数据保存对应粘贴了 requests、BeautifulSoup、re 的介绍连接、演示了利用 pymysql 模块连接并保存到 MySQL 的过程但在下载源码中会遇到各种问题,这次来讲最简单的反爬策略:UA禁止 UA(User-Agent)是什么?User-Agent:翻译是用户代理,其实就是用户的身份当用浏览...原创 2018-08-04 18:51:48 · 8604 阅读 · 3 评论 -
python爬虫基础(6:IP代理池)
除了上篇文章(https://blog.csdn.net/Jeeson_Z/article/details/81409730)提到的 UA检测 外反爬措施还有 IP检测IP检测有些网站当检测到同一个IP连续快速访问时,可能会把这个IP拉黑,封锁掉爬虫的速度贼快,有极大的可能被网站封锁IP代理相当于一个 中介你把请求给他,他帮你安排不同的IP访问,相当于是很多不同的IP在...原创 2018-08-05 22:05:03 · 910 阅读 · 0 评论 -
python爬虫基础(7:模拟登录)
有些网站需要先登录才能浏览一些信息,那我们面对这种情况要怎么爬取呢?也就是说如何使用爬虫模拟登录cookies 概念网页都是使用 http 协议进行访问的,但 http 协议是无记忆的就是是它不会记得你是谁,所以需要有记忆信息的网站,比如需要登录的淘宝,就自动为每个用户创建了一个记忆功能的东西,这样的下次你再访问它,它就可以凭借这个东西认出你是谁这个记忆功能的东西,在服务器端是...原创 2018-08-11 21:07:38 · 1230 阅读 · 1 评论 -
python爬虫基础(8:验证识别之图片码验证)
上篇文章讲了模拟登录,在有些时候,我们想要登录成功,还需要通过一些验证,这次就来讲讲这种情况的处理tesserocr模块类似于下图中的这种验证,我们可以通过一个图片识别库 tesserocr 来进行识别 例如要识别这张图片代码:# 导入Image图片对象from PIL import Image# 导入图片识别包import tesserocr# op...原创 2018-08-16 17:54:06 · 2254 阅读 · 2 评论 -
python爬虫基础(9:验证识别之滑块验证)
上篇我们借助 tesserocr 库解决了图片码的识别验证,但在实际生活中,用得更多的是滑动验证,这篇就来解决滑动验证的问题滑动验证大部分网站都采用的是滑动验证,就是拖动滑块拼接图片,其中又大都采用极验(http://www.geetest.com/)所提供的技术,官方网页如下本篇案例选用哔哩哔哩动画验证登录(https://passport.bilibili.com/login)...原创 2018-08-25 09:30:21 · 34933 阅读 · 5 评论 -
python爬虫基础(10:动态网页之Ajax)
动态网页是什么?有些时候,我们下载到的源码跟浏览器开发者工具中看到的不一样,就是因为很多代码都是在使用过程中有 js 后来生成的,页面不会变动的叫静态网页,页面会因 js 而变动的就叫动态网页本文先讲利用 Ajax 技术的动态网页Ajax 是什么?Ajax (asynchronous JavaScript and XML):翻译为异步刷新的 JavaScript 和 XML工作...原创 2018-08-25 21:06:58 · 1324 阅读 · 0 评论 -
python爬虫基础(11:动态网页之使用selenium)
为什么要用selenium?前面我们介绍了通过分析 Ajax 请求获取数据,但有时 Ajax 请求的数据被加密了,还有并不是所有的动态网页都是使用 Ajax 的,当我们没有招应付动态页面的时候,就要请出大杀器——selenium, selenium不用去考虑 js 是怎样生成新数据的,而真正实现多见即所得:通过模拟下拉刷新后,js 就自动生成了新的网页源码,在浏览器中看到的页面是什么样,得到的...原创 2018-08-26 09:52:18 · 725 阅读 · 0 评论 -
python爬虫基础(12:app数据爬取)
我们之前一直都在爬取网页数据,但有些企业并没有提供web网页服务,而是提供了app服务,还有些web网页数据的各种反爬虫措施太牛逼,这时候如果从app端爬取兴许更容易得多,本篇就来介绍app数据如何爬取作为案例,选用简单的 王者荣耀盒子 的英雄胜率排行榜方法:1. 利用抓包工具(例如 Fiddler)得到包含所需数据的 url 以及数据的格式2. 用代码模拟数据请求操作步骤:...原创 2018-09-02 14:51:02 · 9348 阅读 · 1 评论 -
python爬虫基础(13:Scrapy框架之架构流程与目录)
框架对于特别小的爬虫,一般直接编写就可以了,但一般面对一个项目级别的爬虫,都选择用框架框架可以理解为一个等你填坑的代码: 1.为你编写好那些必须的、重复的代码 2. 为你模块化好每一个组件,自动建立组件之间的联系,这样就方便使用者清晰了解它的流程和各功能的定制Scrapy框架架构和原理Scrapy就是一个爬虫常用的框架,我们先来了解一下它的结构和...原创 2018-09-12 11:06:49 · 512 阅读 · 0 评论 -
python爬虫基础(14:Scrapy框架之项目演示)
上篇(https://blog.csdn.net/Jeeson_Z/article/details/82591625)介绍了Scrapy的原理流程和结构,现在就来通过案例介绍编写流程,项目选用我们的老朋友:豆瓣电影Top250创建spider命令创建:scrapy genspider douban https://www.douban.com (douban是自己命名的爬虫, 后面是允...原创 2018-09-12 15:12:03 · 579 阅读 · 0 评论 -
python爬虫基础(15:补录环境安装)
1. 环境安装由于每个人的硬件设备、操作系统和使用习惯的不同,再加上环境安装的过程中特别多的不可控因素以及可能性,我觉得编写每个软件或模块的安装方法十分耗费心力,因此一直没有给出环境安装方法,在此抱歉在学习过程中参考了崔庆才的《Python3网络爬虫开发实战教程》,其中作者耗费心血地写了关于环境的安装,在此就厚着脸贴出链接了:https://cuiqingcai.com/5052.html...原创 2018-09-12 15:47:45 · 700 阅读 · 0 评论