利用Requests+正则表达式爬取猫眼电影top100 目标站点分析 流程框架 爬虫实战 使用requests库获取top100首页: import requests def get_one_page(url): response = requests.get(url) if response.status_code == 200: return response.text return None def main(): url = 'http://maoyan.com/board/4?off…
Python爬虫教程-11-proxy代理IP,隐藏地址(猫眼电影) ProxyHandler处理(代理服务器),使用代理IP,是爬虫的常用手段,通常使用UserAgent 伪装浏览器爬取仍然可能被网站封了IP,但是我们使用代理IP就不怕它封了我们的IP了 获取代理IP的的网站: www.goubanjia.com www.xicidaili.com 使用代理来隐藏真实访问中,代理也不允许频繁访问某一个固定网站,所以,代理一定要很多很多 需要使用,从上面的网站拷贝 基本使用步骤: 1.设置代理地…
python编写的自动获取代理IP列表的爬虫-chinaboywg-ChinaUnix博客 undefined Python多线程抓取代理服务器 | Linux运维笔记 undefined java如果模拟请求重启路由器(网络爬虫常用),还有java如何下载图片 - baidu_nod的专栏 - 博客频道 - CSDN.NET undefined [多线程数据采集]使用Jsoup抓取数据+破解屏蔽ip访问. - MiniBu - 开源中国社区 undefined 单linux服务器同时拨多条AD…
本篇介绍项目开发的过程中,对 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爬虫教程-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…
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…
这里用到一个HTML解析辅助类:HtmlAgilityPack,如果没有网上找一个增加到库里,这个插件有很多版本,如果你开发环境是使用VS2005就2.0的类库,VS2010就使用4.0,以此类推..........然后直接创建一个控制台应用,将我下面的代码COPY替换就可以运行,下面就来讲讲我两年前做爬虫经历,当时是给一家公司做,也是用的C#,不过当时遇到一个头痛的问题就是抓的图片有病毒,然后系统挂了几次.所以抓网站图片要注意安全,虽然我这里没涉及到图片,但是还是提醒下看文章的朋友. clas…
爬虫反爬之代理IP 代理IP其实本就是在requests模块中的参数 定义: 代替原来的IP地址去对接网络的IP地址. 作用: 隐藏自身真实IP,避免被封. 获取代理IP网站 西刺代理.快代理.全网代理.代理精灵... 参数 proxies 参数类型 1.语法结构 proxies = { '协议':'协议://IP:端口号' } 2.示例 proxies = { 'http':'http://IP:端口号', 'https':'https://IP:端口号' } 使用免费普通代理IP访问测试网站…
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爬虫教程-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爬虫教程-34-分布式爬虫介绍 分布式爬虫在实际应用中还算是多的,本篇简单介绍一下分布式爬虫 什么是分布式爬虫 分布式爬虫就是多台计算机上都安装爬虫程序,重点是联合采集.单机爬虫就是只在一台计算机上的爬虫. 其实搜索引擎都是爬虫,负责从世界各地的网站上爬取内容,当你搜索关键词时就把相关的内容展示给你,只不过他们那都是灰常大的爬虫,爬的内容量也超乎想象,也就无法再用单机爬虫去实现,而是使用分布式了,一台服务器不行,我来1000台.我这么多分布在各地的服务器都是为了完成爬虫工作,彼此得通…
本篇详细介绍 scrapy shell 的使用,也介绍了使用 xpath 进行精确查找 Python爬虫教程-33-scrapy shell 的使用 scrapy shell 的使用 条件:我们需要先在环境中,安装 scrapy 包,如果还没有安装,请参照:Python爬虫教程-30-Scrapy 爬虫框架介绍 为什么要使用 scrapy shell? 当我们需要爬取智联招聘,某一个岗位的信息的时候,如果我们当然不能简单的把整个页面的 HTML 都作为返回的结果吧,这时候我们需要提取数据,我们可…
本篇是介绍在 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爬虫笔记的一个结尾,使用 Tesseract Python爬虫教程-29-验证码识别-Tesseract-OCR 常见反爬虫手段: 验证码 1.简单图片,扭曲数字验证码 2.中文顺序点击 3.动态验证码 4.滑动验证:滑动小方块到缺口 5.语音验证 6.极验验证:官网:http://www.geetest.com/ 根据鼠标轨迹,判定是机器人还是用户,很强大的验证机制 对于极验是很厉害的拦截机器人手段,好像是使用人工智能机器学习,当然自己想做验证的话建议…
我觉得本篇是很有意思的,闲着没事来看看! Python爬虫教程-28-Selenium 操纵 Chrome PhantomJS 幽灵浏览器,无界面浏览器,不渲染页面.Selenium + PhantomJS 在之前是很完美的搭配.后来在 2017 年 Google 宣布 Chrome 也宣布支持不渲染.所以 PhantomJS 使用的人就越来越少了,挺可惜,本篇介绍 Selenium + Chrome 安装Chrome浏览器和 Chromedriver 安装 Chrome 浏览器就不介绍了 安装…
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…
Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据,查看文档 https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/ Python爬虫教程-23-数据提取-BeautifulSoup4(一) Beautiful Soup提供一些简单的.python式的函数用来处理导航.搜索.修改分析树等功能 它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序 Be…
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) 可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 用途:它被设计用来 传输 和 存储 数据 简单的概念: 结…
本篇主页内容:match的基本使用,search的基本使用,findall,finditer的基本使用,匹配中文,贪婪与非贪婪模式 Python爬虫教程-19-数据提取-正则表达式(re) 正则表达式:一套规则,可以在字符串文本中进行搜查替换等 正则使用步骤: 1.使用 compile 函数将正则表达式的字符串编译成一个 pattern 对象 2.通过 pattern 对象的一些方法对文本进行匹配,匹配结果是一个 match 对象 3.用 match 对象的方法,对结果进行操作 正则的常用方法:…
本篇针对的数据是已经存在在页面上的数据,不包括动态生成的数据,今天是对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爬虫教程-16-破解js加密实例(有道在线翻译) 在爬虫爬取网站的时候,经常遇到一些反爬虫技术,比如: 加cookie,身份验证UserAgent 图形验证,还有很难破解的滑动验证 js签名验证,对传输数据进行加密处理 对于js加密 经过加密传输的就是密文,但是加密函数或者过程一定是在浏览器完成, 也就是一定会把js代码暴露给使用者 通过阅读加密算法,就可以模拟出加密过程,从而达到破解 怎样判断网站有没有使用js加密,很简单,例如有道在线翻译 1.打开[有道在线翻译]网页:http:…
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…