Spider-03-使用chardet 继续学习python爬虫,我们经常出现解码问题,因为所有的页面编码都不统一,我们使用chardet检测页面的编码,尽可能的减少编码问题的出现 网页编码问题解决 使用chardet 可以自动检测页面文件的编码格式,但是也有可能出错 需要安装chardet, - 如果使用Anaconda环境,使用下面命令: conda install chardet - 如果不是,就自己手动在[PyCharm]>[file]>[settings]>[Project I…
Spider-01-爬虫介绍 Python 爬虫的知识量不是特别大,但是需要不停和网页打交道,每个网页情况都有所差异,所以对应变能力有些要求 爬虫准备工作 参考资料 精通Python爬虫框架Scrapy,人民邮电出版社 基础知识 url, http web前端,html,css,js ajax re,xpath xml python 爬虫简介 爬虫定义:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.…
鉴于好多人想学Python爬虫,缺没有简单易学的教程,我将在CSDN和大家分享Python爬虫的学习笔记,不定期更新 基础要求 Python 基础知识 Python 的基础知识,大家可以去菜鸟教程进行学习 菜鸟教程python基础 http://www.runoob.com/python/python-tutorial.html Python 高级语法 菜鸟教程python高级 http://www.runoob.com/python/python-object.html 我的爬虫笔记 Pyth…
本篇是介绍在 Anaconda 环境下,创建 Scrapy 爬虫框架项目的步骤,且介绍比较详细 Python爬虫教程-31-创建 Scrapy 爬虫框架项目 首先说一下,本篇是在 Anaconda 环境下,所以如果没有安装 Anaconda 请先到官网下载安装 Anaconda 下载地址:https://www.anaconda.com/download/ Scrapy 爬虫框架项目的创建 0.打开[cmd] 1.进入你要使用的 Anaconda 环境 1.环境名可以在[Pycharm]的[Se…
从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框架: scrapy pyspider crawley Scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中 Scrapy 官方文档 https://doc.scrapy.org/en/latest/ http://sc…
Python爬虫教程-08-post介绍(下) 为了更多的设置请求信息,单纯的通过urlopen已经不太能满足需求,此时需要使用request.Request类 构造Request 实例 req = request.Request(url=baseurl,data=data,headers=header) 发出请求 rsp = request.urlopen(req) 文件: 案例v8文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py08po…
Python爬虫教程-07-post介绍(百度翻译)(上) 访问网络两种方法 get: 利用参数给服务器传递信息 参数为dict,使用parse编码 post :(今天给大家介绍的post) 一般向服务器传递参数使用 post是把信息自动加密处理 使用post传递信息,需要用到data参数 使用post意味着http的请求头信息可能需要更改: Content-Type:application/x-www.form-urlencode Content-Length:数据长度 简而言之,一旦更改请求…
我觉得本篇是很有意思的,闲着没事来看看! Python爬虫教程-28-Selenium 操纵 Chrome PhantomJS 幽灵浏览器,无界面浏览器,不渲染页面.Selenium + PhantomJS 在之前是很完美的搭配.后来在 2017 年 Google 宣布 Chrome 也宣布支持不渲染.所以 PhantomJS 使用的人就越来越少了,挺可惜,本篇介绍 Selenium + Chrome 安装Chrome浏览器和 Chromedriver 安装 Chrome 浏览器就不介绍了 安装…
Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据,查看文档 https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/ Python爬虫教程-23-数据提取-BeautifulSoup4(一) Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能 它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序 Be…
本篇主页内容:match的基本使用,search的基本使用,findall,finditer的基本使用,匹配中文,贪婪与非贪婪模式 Python爬虫教程-19-数据提取-正则表达式(re) 正则表达式:一套规则,可以在字符串文本中进行搜查替换等 正则使用步骤: 1.使用 compile 函数将正则表达式的字符串编译成一个 pattern 对象 2.通过 pattern 对象的一些方法对文本进行匹配,匹配结果是一个 match 对象 3.用 match 对象的方法,对结果进行操作 正则的常用方法:…
python爬虫教程-16-破解js加密实例(有道在线翻译) 在爬虫爬取网站的时候,经常遇到一些反爬虫技术,比如: 加cookie,身份验证UserAgent 图形验证,还有很难破解的滑动验证 js签名验证,对传输数据进行加密处理 对于js加密 经过加密传输的就是密文,但是加密函数或者过程一定是在浏览器完成, 也就是一定会把js代码暴露给使用者 通过阅读加密算法,就可以模拟出加密过程,从而达到破解 怎样判断网站有没有使用js加密,很简单,例如有道在线翻译 1.打开[有道在线翻译]网页:http:…
Python爬虫教程-14-爬虫使用filecookiejar保存cookie文件(人人网) 上一篇介绍了利用CookieJar访问人人网,本篇将使用filecookiejar将cookie以文件形式保存 自动使用cookie登录,使用步骤: 1.打开登录页面后,通过用户名密码登录 2.自动提取反馈回来的cookie 3.利用提取的cookie登录个人信息页面 创建cookiejar实例 生成cookie的管理器 创建http请求管理器 创建https请求的管理器 创建请求管理器 通过输入用户名…
Python爬虫教程-13-爬虫使用cookie爬取登录后的页面(下) 自动使用cookie的方法,告别手动拷贝cookie http模块包含一些关于cookie的模块,通过他们我们可以自动的使用cookie - CookieJar 管理存储Cookie,向传出的http请求添加cookie 这里Cookie存储在内存中,CookieJar实例回收后cookie将消失 FileCookieJar(filename, delayload=None, policy=None) 使用文件管理cooki…
Python爬虫教程-11-proxy代理IP,隐藏地址(猫眼电影) ProxyHandler处理(代理服务器),使用代理IP,是爬虫的常用手段,通常使用UserAgent 伪装浏览器爬取仍然可能被网站封了IP,但是我们使用代理IP就不怕它封了我们的IP了 获取代理IP的的网站: www.goubanjia.com www.xicidaili.com 使用代理来隐藏真实访问中,代理也不允许频繁访问某一个固定网站,所以,代理一定要很多很多 需要使用,从上面的网站拷贝 基本使用步骤: 1.设置代理地…
Python爬虫教程-10-UserAgent和常见浏览器UA值 有时候使用爬虫会被网站封了IP,所以需要去模拟浏览器,隐藏用户身份, UserAgent 包含浏览器信息,用户身份,设备系统信息 UserAgent:用户代理,简称UA,属于headers的一部分,服务器通过UA来判断访问者身份 使用方法:复制粘贴即可 案例v10UA文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py10UA.py # 更改UserAgent,进行伪装 from…
Python爬虫教程-09-error模块 今天的主角是error,爬取的时候,很容易出现错,所以我们要在代码里做一些,常见错误的处,关于urllib.error URLError URLError 产生的原因: 1.无网络连接 2.服务器连接失败 3.找不到指定的服务器 4.URLError是OSError的子类 案例v9文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py09error.py # 案例v9 # URLError的使用 fro…
Python爬虫教程-34-分布式爬虫介绍 分布式爬虫在实际应用中还算是多的,本篇简单介绍一下分布式爬虫 什么是分布式爬虫 分布式爬虫就是多台计算机上都安装爬虫程序,重点是联合采集.单机爬虫就是只在一台计算机上的爬虫. 其实搜索引擎都是爬虫,负责从世界各地的网站上爬取内容,当你搜索关键词时就把相关的内容展示给你,只不过他们那都是灰常大的爬虫,爬的内容量也超乎想象,也就无法再用单机爬虫去实现,而是使用分布式了,一台服务器不行,我来1000台.我这么多分布在各地的服务器都是为了完成爬虫工作,彼此得通…
本篇详细介绍 scrapy shell 的使用,也介绍了使用 xpath 进行精确查找 Python爬虫教程-33-scrapy shell 的使用 scrapy shell 的使用 条件:我们需要先在环境中,安装 scrapy 包,如果还没有安装,请参照:Python爬虫教程-30-Scrapy 爬虫框架介绍 为什么要使用 scrapy shell? 当我们需要爬取智联招聘,某一个岗位的信息的时候,如果我们当然不能简单的把整个页面的 HTML 都作为返回的结果吧,这时候我们需要提取数据,我们可…
本篇介绍项目开发的过程中,对 Setting 文件的配置和使用 Python爬虫教程-32-Scrapy 爬虫框架项目 Settings.py 介绍 settings.py 文件的使用 想要详细查看 settings.py文件的更多内容,可查看中文文档: https://scrapy-chs.readthedocs.io/zh_CN/latest/topics/settings.html Settings 中配置 USER_AGENTS 在 settings.py 文件中很多东西默认是给注释掉的…
本篇是关于验证码识别问题,也是Python爬虫笔记的一个结尾,使用 Tesseract Python爬虫教程-29-验证码识别-Tesseract-OCR 常见反爬虫手段: 验证码 1.简单图片,扭曲数字验证码 2.中文顺序点击 3.动态验证码 4.滑动验证:滑动小方块到缺口 5.语音验证 6.极验验证:官网:http://www.geetest.com/ 根据鼠标轨迹,判定是机器人还是用户,很强大的验证机制 对于极验是很厉害的拦截机器人手段,好像是使用人工智能机器学习,当然自己想做验证的话建议…
Python爬虫教程-26-Selenium + PhantomJS 动态前端页面 : JavaScript: JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能 jQuery: jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的Jav…
Python爬虫教程-25-数据提取-BeautifulSoup4(三) 本篇介绍 BeautifulSoup 中的 css 选择器 css 选择器 使用 soup.select 返回一个列表 通过标签名称:soup.select("title") 通过类名:soup.select(".centent") id 查找:soup.select("#name_id") 组合查找:soup.select("div #input_content…
Python爬虫教程-24-数据提取-BeautifulSoup4(二) 本篇介绍 bs 如何遍历一个文档对象 遍历文档对象 contents:tag 的子节点以列表的方式输出 children:子节点以迭代器形式返回 descendants:所有子孙节点 string:用string打印出标签的具体内容,不带有标签,只有内容 案例代码27bs3.py文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py27bs3.py # BeautifulS…
Python爬虫教程-22-lxml-etree和xpath配合使用 lxml:python 的HTML/XML的解析器 官网文档:https://lxml.de/ 使用前,需要安装安 lxml 包 功能: 1.解析HTML:使用 etree.HTML(text) 将字符串格式的 html 片段解析成 html 文档 2.读取xml文件 3.etree和XPath 配合使用 lxml 的安装 [PyCharm]>[file]>[settings]>[Project Interpreter…
本篇简单介绍 xpath 在python爬虫方面的使用,想要具体学习 xpath 可以到 w3school 查看 xpath 文档 xpath文档:http://www.w3school.com.cn/xpath/index.asp Python爬虫教程-21-xpath 什么是 XPath? XPath 使用路径表达式在 XML 文档中进行导航 XPath 包含一个标准函数库 XPath 是 XSLT 中的主要元素 XPath 是一个 W3C 标准 用途:它是一种用来确定XML文档中某部分位置…
本篇简单介绍 xml 在python爬虫方面的使用,想要具体学习 xml 可以到 w3school 查看 xml 文档 xml 文档链接:http://www.w3school.com.cn/xmldom/xmldom_reference.asp Python爬虫教程-20-xml简介 XML(Extensible Markup Language) 可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 用途:它被设计用来 传输 和 存储 数据 简单的概念: 结…
本篇针对的数据是已经存在在页面上的数据,不包括动态生成的数据,今天是对HTML中提取对我们有用的数据,去除无用的数据 Python爬虫教程-18-页面解析和数据提取 结构化数据:先有的结构,再谈数据 json数据 1.处理此类数据,通常使用JSON Path 2.转换成python类型的数据,再进行操作(json类) XML文件 转换成python类型(xmltodict) XPath CSS选择器 正则表达式 非结构化数据:先有的数据,再谈结构 文本 电话号码 邮箱地址 处理此类数据,通常使用…
Python爬虫教程-17-ajax爬取实例(豆瓣电影) ajax: 简单的说,就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: 1.一定会有 url,请求方法(get, post),可能有数据 2.一般使用 json 格式 爬取豆瓣电影 网站分析: 打开豆瓣电影网站:https://movie.douban.com/,选择[排行榜],点击[动作]分类 一直往下滑,可以看到这样的效果:快到低的时候又有了新的内容,也就是往下没完…
Python爬虫教程-15-爬虫读取cookie(人人网)和SSL(12306官网) 上一篇写道关于存储cookie文件,本篇介绍怎样读取cookie文件 cookie的读取 案例v16ssl文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py16loadcookie.py # 读取cookie文件 from urllib import request,parse from http import cookiejar # 创建cookiejar…
Python爬虫教程-12-爬虫使用cookie(上) 爬虫关于cookie和session,由于http协议无记忆性,比如说登录淘宝网站的浏览记录,下次打开是不能直接记忆下来的,后来就有了cookie和session机制 Python爬虫爬取登录后的页面 所以怎样让爬虫使用验证用户身份信息的cookie呢,换句话说,怎样在使用爬虫的时候爬取已经登录的页面呢,这就是本篇的重点 cookie和session介绍 cookie是发给用户的(即http浏览器)的一段信息 session是保存在服务器上…