![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python爬虫学习
文章平均质量分 83
还算小萌新?
加油
展开
-
python爬虫学习笔记 4.9 (settings)
python爬虫学习笔记 4.9 (settings)SettingsScrapy设置(settings)提供了定制Scrapy组件的方法。可以控制包括核心(core),插件(extension),pipeline及spider组件。比如 设置Json Pipeliine、LOG_LEVEL等。参考文档:http://scrapy-chs.readthedocs.io/zh_CN/1.0/topics/settings.html#topics-settings-ref内置设置参考手册BOT_NA原创 2020-05-09 16:18:14 · 182 阅读 · 0 评论 -
python爬虫学习笔记 4.8 (Downloader Middlewares)
python爬虫学习笔记 4.8 (Downloader Middlewares)反反爬虫相关机制Some websites implement certain measures to prevent bots from crawling them, with varying degrees of sophistication. Getting around those measures can be difficult and tricky, and may sometimes require spe原创 2020-05-09 16:15:47 · 243 阅读 · 0 评论 -
python爬虫学习笔记 4.7 (Request/Response)
python爬虫学习笔记 4.7 (Request/Response)RequestRequest 部分源码:# 部分代码class Request(object_ref): def __init__(self, url, callback=None, method='GET', headers=None, body=None, cookies=None, meta=None, encoding='utf-8', priority=0,原创 2020-05-09 16:10:05 · 238 阅读 · 0 评论 -
python爬虫学习笔记 4.6 (CrawlSpider)
python爬虫学习笔记 4.6 (CrawlSpider)CrawlSpiders通过下面的命令可以快速创建 CrawlSpider模板 的代码:scrapy genspider -t crawl tencent tencent.com上一个案例中,我们通过正则表达式,制作了新的url作为Request请求参数,现在我们可以换个花样…class scrapy.spiders.CrawlSpider它是Spider的派生类,Spider类的设计原则是只爬取start_url列表中的网页,而C原创 2020-05-09 16:07:07 · 352 阅读 · 0 评论 -
python爬虫学习笔记 4.5 (Spider)
python爬虫学习笔记 4.5 (Spider)SpiderSpider类定义了如何爬取某个(或某些)网站。包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item)。 换句话说,Spider就是您定义爬取的动作及分析某个网页(或者是有些网页)的地方。class scrapy.Spider是最基本的类,所有编写的爬虫必须继承这个类。主要用到的函数及调用顺序为:init() : 初始化爬虫名字和start_urls列表start_requests() 调用make原创 2020-05-09 16:00:56 · 358 阅读 · 0 评论 -
python爬虫学习笔记 4.4 (Item Pipline)
python爬虫学习笔记 4.4 (Item Pipline)Item Pipeline当Item在Spider中被收集之后,它将会被传递到Item Pipeline,这些Item Pipeline组件按定义的顺序处理Item。每个Item Pipeline都是实现了简单方法的Python类,比如决定此Item是丢弃而存储。以下是item pipeline的一些典型应用:验证爬取的数据(检查item包含某些字段,比如说name字段)查重(并丢弃)将爬取结果保存到文件或者数据库中编写item原创 2020-05-09 15:57:34 · 140 阅读 · 0 评论 -
python爬虫学习笔记4.3 (Scrapy Shell)
python爬虫学习笔记4.3 (Scrapy Shell)Scrapy ShellScrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看他们的工作方式,方便我们爬取的网页中提取的数据。如果安装了 IPython ,Scrapy终端将使用 IPython (替代标准Python终端)。 IPython 终端与其他相比更为强大,提供智能的自动补全,高亮输出,及其他特性。(推荐安装IPython)启动Scrapy Shell进入原创 2020-05-09 15:54:32 · 197 阅读 · 0 评论 -
python爬虫学习笔记 4.2 (Scrapy入门案例(创建项目))
python爬虫学习笔记 4.2 (Scrapy入门案例(创建项目))入门案例学习目标创建一个Scrapy项目定义提取的结构化数据(Item)编写爬取网站的 Spider 并提取出结构化数据(Item)编写 Item Pipelines 来存储提取到的Item(即结构化数据)一. 新建项目(scrapy startproject)在开始爬取之前,必须创建一个新的Scrapy项...原创 2020-04-29 16:40:22 · 596 阅读 · 0 评论 -
python爬虫学习笔记 4.1 (Scrapy的安装介绍)
python爬虫学习笔记 4.1 (Scrapy的安装介绍)Scrapy的安装介绍Scrapy框架官方网址:http://doc.scrapy.org/en/latestScrapy中文维护站点:http://scrapy-chs.readthedocs.io/zh_CN/latest/index.htmlWindows 安装方式Python 2 / 3升级pip版本:pip ins...原创 2020-04-29 16:13:09 · 138 阅读 · 0 评论 -
python爬虫学习笔记 4 (Scrapy框架)
python爬虫学习笔记 4 (Scrapy框架)Scrapy 框架Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。Scrapy 使用了 Twisted’twɪstɪd异步网络框架来处理网络通讯,可以加快我们的下载速度,...原创 2020-04-29 15:58:20 · 284 阅读 · 0 评论 -
python爬虫学习笔记 3.9 (了解参考:训练Tesseract)
python爬虫学习笔记 3.9 (了解参考:训练Tesseract)参考阅读:训练Tesseract要使用 Tesseract 的功能,比如后面的示例中训练程序识别字母,要先在系统中设置一 个新的环境变量 $TESSDATA_PREFIX,让 Tesseract 知道训练的数据文件存储在哪里,然后搞一份tessdata数据文件,放到Tesseract目录下。在大多数 Linux 系统和...原创 2020-04-28 15:57:59 · 294 阅读 · 0 评论 -
python爬虫学习笔记 3.8(执行javascript语句)
python爬虫学习笔记 3.8(执行javascript语句)案例三:执行 JavaScript 语句隐藏百度图片from selenium import webdriverdriver = webdriver.PhantomJS()driver.get("https://www.baidu.com/")# 给搜索输入框标红的javascript脚本js = "var q=do...原创 2020-04-28 15:54:51 · 202 阅读 · 0 评论 -
python爬虫学习笔记 3.7 (尝试对验证码进行机器识别处理)
python爬虫学习笔记 3.7 (尝试对验证码进行机器识别处理)尝试对知乎网验证码进行处理:许多流行的内容管理系统即使加了验证码模块,其众所周知的注册页面也经常会遭到网络 机器人的垃圾注册。那么,这些网络机器人究,竟是怎么做的呢?既然我们已经,可以成功地识别出保存在电脑上 的验证码了,那么如何才能实现一个全能的网络机器人呢?大多数网站生成的验证码图片都具有以下属性。它们是服务器端的程...原创 2020-04-28 15:49:01 · 330 阅读 · 0 评论 -
python爬虫学习笔记 3.6 (处理一些格式规范的文字)
python爬虫学习笔记 3.6 (处理一些格式规范的文字)处理给规范的文字处理的大多数文字最好都是比较干净、格式规范的。格式规范的文字通常可以满足一些需求,通常格式规范的文字具有以下特点:使用一个标准字体(不包含手写体、草书,或者十分“花哨的”字体)即使被复印或拍照,字体还是很清晰,没有多余的痕迹或污点排列整齐,没有歪歪斜斜的字没有超出图片范围,也没有残缺不全,或紧紧贴在图片的边缘...原创 2020-04-28 15:46:30 · 565 阅读 · 0 评论 -
python爬虫学习笔记 3.5 (机器视觉与Tesseract介绍)
python爬虫学习笔记 3.5 (机器视觉与Tesseract介绍)机器视觉从 Google 的无人驾驶汽车到可以识别假钞的自动售卖机,机器视觉一直都是一个应用广 泛且具有深远的影响和雄伟的愿景的领域。我们将重点介绍机器视觉的一个分支:文字识别,介绍如何用一些 Python库来识别和使用在线图片中的文字。我们可以很轻松的阅读图片里的文字,但是机器阅读这些图片就会非常困难,利用这种人类用户...原创 2020-04-28 15:40:28 · 272 阅读 · 0 评论 -
python爬虫学习笔记 3.4 (案例二,动态页面模拟点击)
python爬虫学习笔记 3.4 (案例二,动态页面模拟点击)案例二:动态页面模拟点击爬取斗鱼直播平台的所有房间信息:import timefrom selenium import webdriverimport jsonimport csvclass douyu: def __init__(self): self.start_url = "https://...原创 2020-04-28 15:38:06 · 314 阅读 · 0 评论 -
python爬虫学习笔记 3.3 (案例一:网站模拟登录)
python爬虫学习笔记 3.3 (案例一:网站模拟登录)案例一:网站模拟登录# -*- coding:utf-8 -*-# douban.py#coding=utf-8import timefrom selenium import webdriverfrom selenium.webdriver.common.keys import Keysclass Douban(): ...原创 2020-04-28 15:36:30 · 364 阅读 · 0 评论 -
python爬虫学习笔记 3.#(番外) (selenium和chromedriver使用中得问题)
python爬虫学习笔记 3.#(番外) (selenium和chromedriver使用中得问题)问题1:selenium安装,解决本人使用Pycharm,anoconda,安装时pip失败,直接在setting中找到install就行了问题2:chromedriver安装解决:chromedriver的版本一定要与Chrome的版本一致,不然就不起作用。有两个下载地址:1、h...原创 2020-04-27 11:28:18 · 398 阅读 · 0 评论 -
python爬虫学习笔记 3.2 (Selenium与PhantomJS)
python爬虫学习笔记 3.2 (Selenium与PhantomJS)SeleniumSelenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。Selenium 可以根据我们的指令,让浏览器自动加载...原创 2020-04-27 11:19:26 · 384 阅读 · 0 评论 -
python爬虫学习笔记 3.1 (动态HTML介绍)
python爬虫学习笔记 3.1 (动态HTML介绍)JavaScriptJavaScript 是网络上最常用也是支持者最多的客户端脚本语言。它可以收集 用户的跟踪数据,不需要重载页面直接提交表单,在页面嵌入多媒体文件,甚至运行网页游戏。我们可以在网页源代码的标签里看到,比如:<script type="text/javascript" src="https://statics.hu...原创 2020-04-27 11:13:21 · 219 阅读 · 0 评论 -
python爬虫学习笔记 3 (动态HTML处理和机器图像识别)
python爬虫学习笔记 3 (动态HTML处理和机器图像识别)爬虫(Spider),反爬虫(Anti-Spider),反反爬虫(Anti-Anti-Spider) 之间恢宏壮阔的斗争…Day 1小莫想要某站上所有的电影,写了标准的爬虫(基于HttpClient库),不断地遍历某站的电影列表页面,根据 Html 分析电影名字存进自己的数据库。这个站点的运维小黎发现某个时间段请求量陡增,分析...原创 2020-04-27 11:11:25 · 282 阅读 · 0 评论 -
python爬虫学习笔记 2.9 (使用bs4得案例)
python爬虫学习笔记 2.9 (使用bs4得案例)案例:使用BeautifuSoup4的爬虫我们以腾讯社招页面来做演示:http://hr.tencent.com/position.php?&start=10#a使用BeautifuSoup4解析器,将招聘网页上的职位名称、职位类别、招聘人数、工作地点、发布时间,以及每个职位详情的点击链接存储出来。# bs4_tencent...原创 2020-04-27 11:08:35 · 350 阅读 · 0 评论 -
python爬虫学习笔记 2.8 (beautifulsoup4)
python爬虫学习笔记 2.8(beautifulsoup4)CSS 选择器:BeautifulSoup4和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。lxml 只会局部遍历,而Beautiful Soup 是基于HTML DOM的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,所...原创 2020-04-27 11:06:52 · 296 阅读 · 0 评论 -
python爬虫学习 2.7 (多线程爬虫案例(初步了解))
python爬虫学习 2.7 (多线程爬虫案例(初步了解))Queue(队列对象)Queue是python中的标准库,可以直接import Queue引用;队列是线程间最常用的交换数据的形式python下多线程的思考对于资源,加锁是个重要的环节。因为python原生的list,dict等,都是not thread safe的。而Queue,是线程安全的,因此在满足使用条件下,建议使用队列...原创 2020-04-27 10:58:52 · 1026 阅读 · 0 评论 -
python爬虫学习笔记 2.6 (糗事百科案例)
糗事百科实例:爬取糗事百科段子,假设页面的URL是 http://www.qiushibaike.com/8hr/page/1参考代码#coding=utf-8import requestsfrom retrying import retryfrom lxml import etreeclass Qiubai_spider(): def __init__(self): ...原创 2020-04-26 10:18:02 · 271 阅读 · 0 评论 -
python爬虫学习 2.5 (json与JsonPath)
python爬虫学习 2.5 (json与JsonPath)数据提取之JSON与JsonPATHJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。JSON和XML的比较可谓不相上下。Python 2.7中自带了JSON模块...原创 2020-04-26 09:24:43 · 217 阅读 · 0 评论 -
python爬虫学习 2.4 (使用Xpath得案例)
python爬虫学习 2.4 (使用Xpath得案例)啥都不说了,直接看代码吧# coding=utf-8import requestsfrom lxml import etreeimport jsonclass TiebaSpider: def __init__(self,tieba_name): self.tieba_name = tieba_name ...原创 2020-04-24 13:38:10 · 324 阅读 · 0 评论 -
python爬虫学习 2.3 (XPath与lxml类库)
python爬虫学习 2.3 (XPath与lxml类库)有人说,我正则用的不好,处理HTML文档很累,有没有其他的方法?有!那就是XPath,我们可以先将 HTML文件 转换成 XML文档,然后用 XPath 查找 HTML 节点或元素。什么是XMLXML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计...原创 2020-04-23 15:43:41 · 316 阅读 · 0 评论 -
python爬虫学习 2.2 (使用正则表达式得爬虫得简单案例)
python爬虫学习 2.2 (使用正则表达式得爬虫得简单案例)以下学习案例所爬网站已经停用,最后加上自己学习时所写案例案例:使用正则表达式的爬虫现在拥有了正则表达式这把神兵利器,我们就可以进行对爬取到的全部网页源代码进行筛选了。下面我们一起尝试一下爬取内涵段子网站: http://www.neihan8.com/article/list_5_1.html打开之后,不难看到里面一个一个灰...原创 2020-04-23 10:45:24 · 353 阅读 · 0 评论 -
python爬虫学习 2.1 (正则表达式re模块)
python爬虫学习 2.1 (正则表达式re模块)为什么要学正则表达式实际上爬虫一共就四个主要步骤:1.明确目标 (要知道你准备在哪个范围或者网站去搜索)2.爬 (将所有的网站的内容全部爬下来)3.取 (去掉对我们没用处的数据)4.处理数据(按照我们想要的方式存储和使用)我们在以往的案例里实际上省略了第3步,也就是"取"的步骤。因为我们down下了的数据是全部的网页,这些数据很庞...原创 2020-04-23 08:25:07 · 537 阅读 · 0 评论 -
python爬虫学习笔记 2 (非结构化数据和结构化数据提取)
python爬虫学习笔记 2 (非结构化数据和结构化数据提取)页面解析和数据提取一般来讲对我们而言,需要抓取的是某个网站或者某个应用的内容,提取有用的价值。内容一般分为两部分,非结构化的数据 和 结构化的数据。非结构化数据:先有数据,再有结构,(http://www.baidu.com)结构化数据:先有结构、再有数据(http://wangyi.butterfly.mopaasapp.c...原创 2020-04-22 08:25:37 · 710 阅读 · 0 评论 -
python爬虫学习笔记 1.9 (Handler处理器 和 自定义Opener)
Handler处理器 和 自定义Openeropener是 urllib.request.OpenerDirector 的实例,我们之前一直都在使用的urlopen,它是一个特殊的opener(也就是模块帮我们构建好的)。但是基本的urlopen()方法不支持代理、cookie等其他的HTTP/HTTPS高级功能。所以要支持这些功能:1.使用相关的 Handler处理器 来创建特定功...原创 2020-04-21 20:58:21 · 388 阅读 · 0 评论 -
python爬虫学习笔记 1.8 (urllib:get请求和post请求)
python爬虫学习笔记 1.8 (urllib:get请求和post请求)urllib默认只支持HTTP/HTTPS的GET和POST方法urllib.parse.urlencode()编码工作使用urllib.parse的urlencode()函数,帮我们将key:value这样的键值对转换成"key=value"这样的字符串,解码工作可以使用urllib.parse的unquote(...原创 2020-04-21 20:20:20 · 500 阅读 · 0 评论 -
python爬虫学习笔记 1.7 (urllib模块的基本使用)
python爬虫学习笔记 1.7 (urllib模块的基本使用)urllib库的基本使用所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。 在Python中有很多库可以用来抓取网页,我们先学习urllib。在 python2 中,urllib 被分为urllib,urllib2等urlopen我们先来段代码:# urllib_request.py# 导入...原创 2020-04-21 16:03:11 · 279 阅读 · 0 评论 -
python爬虫学习笔记 1.6 (HTTP/HTTPS抓包工具-Fiddler)
python爬虫学习笔记 1.6 (HTTP/HTTPS抓包工具-Fiddler)HTTP代理神器FiddlerFiddler是一款强大Web调试工具,它能记录所有客户端和服务器的HTTP请求。 Fiddler启动的时候,默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置。工作原理Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1...原创 2020-04-21 12:42:05 · 431 阅读 · 0 评论 -
python爬虫学习笔记 1.5 (Requests深入)
python爬虫学习笔记 1.5 (Requests深入)基本POST请求(data参数)1. 最基本post方法response = requests.post("http://www.baidu.com/", data = data)2. 传入data数据对于 POST 请求来说,我们一般需要为它增加一些参数。那么最基本的传参方法可以利用 data 这个参数。import req...原创 2020-04-21 12:37:46 · 208 阅读 · 0 评论 -
python爬虫学习笔记 1.4 (Request简单使用)request安装
python爬虫学习笔记 1.4 (Request简单使用)Requests: 让 HTTP 服务人类虽然Python的标准库中 urllib 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更简洁方便。Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用...原创 2020-04-21 12:31:54 · 589 阅读 · 0 评论 -
python爬虫学习笔记 1.3 str和bytes的区别
python爬虫学习笔记 1.3 str和bytes的区别bytesbytes对象只负责以二进制字节序列的形式记录所需记录的对象,至于该对象到底表示什么(比如到底是什么字符)则由相应的编码格式解码所决定Python2 中>>> type(b'xxxxx')<type 'str'>>>> type('xxxxx')<type 'st...原创 2020-04-21 12:09:41 · 349 阅读 · 0 评论 -
python爬虫学习笔记 1.1(通用爬虫和聚焦爬虫)
通用爬虫和聚焦爬虫根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.通用爬虫通用网络爬虫 是 捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。通用搜索引擎(Search Engine)工作原理通用网络爬虫 从互联网中搜集网页,采集信息,这些网页信息用于为搜索引擎建立索引从而提供支持,它...原创 2020-04-21 11:46:44 · 520 阅读 · 1 评论 -
python爬虫学习笔记 1.2 ( HTTP和HTTPS )
HTTP和HTTPSHTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层。SSL(Secure Sockets Layer 安全套接层)主要用于Web的...原创 2020-04-21 11:59:13 · 575 阅读 · 0 评论