![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
爬虫
文章平均质量分 56
IT之一小佬
敲响键盘之乐,跳起程序之舞,抵达智慧之巅!
展开
-
python中fake_useragent库用法详解
python中fake_useragent库用法详解原创 2023-09-17 20:04:09 · 2465 阅读 · 0 评论 -
python简单爬虫操作(requests、etree)
python简单爬虫操作(requests、etree)原创 2023-03-26 23:13:33 · 501 阅读 · 2 评论 -
python-requests请求超时解决方案
python程序根据url从互联网上批量获取数据时,设置HTTP或Socket超时,来防止爬虫爬取某个页面时间过长,导致程序卡置不前。原创 2023-03-16 08:35:49 · 5909 阅读 · 0 评论 -
python中feapder库安装及简单操作
python中feapder库安装及简单操作原创 2023-03-04 19:27:12 · 852 阅读 · 0 评论 -
获取接口数据时response.json()和son.loads(ret.text)执行效率
获取接口数据时response.json()和son.loads(ret.text)执行效率原创 2023-02-20 22:53:39 · 529 阅读 · 0 评论 -
Gerapy分布式管理框架
13.Gerapy学习目标了解 什么是Gerapy 掌握 Gerapy的安装 掌握 Gerapy配置启动 掌握 通过Gerapy配置管理scrapy项目1.Gerapy介绍: Gerapy 是一款分布式爬虫管理框架,支持 Python 3,基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 开发,Gerapy 可以帮助我们:更方便地控制爬虫运行.原创 2021-12-29 16:45:42 · 643 阅读 · 0 评论 -
Scrapyd部署Scrapy框架项目
1. scrapyd的介绍scrapyd是一个用于部署和运行scrapy爬虫的程序,它允许你通过JSON API(即:post请求的webapi)来部署爬虫项目和控制爬虫运行,scrapyd是一个守护进程,监听爬虫的运行和请求,然后启动进程来执行它们。2. scrapyd的安装scrapyd服务:pip install scrapyd scrapyd客户端:pip install scrapyd-client3. 启动scrapyd服务 在scrapy项目路...原创 2021-12-29 14:43:25 · 398 阅读 · 2 评论 -
Scrapy框架的日志信息与配置信息
1. scrapy的日志信息2. scrapy的常用配置ROBOTSTXT_OBEY 是否遵守robots协议,默认是遵守 关于robots协议 在百度搜索中,不能搜索到淘宝网中某一个具体的商品的详情页面,这就是robots协议在起作用 Robots协议:网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,但它仅仅是互联网中的一般约定 例如:淘宝的robots协议 USER_AGENT 设置ua DEFAULT_REQUEST_HEADERS原创 2021-12-28 22:21:45 · 576 阅读 · 0 评论 -
Scrapy_splash组件的使用
1. 了解scrapy_splash?scrapy_splash是scrapy的一个组件scrapy-splash加载js数据是基于Splash来实现的。 Splash是一个Javascript渲染服务。 使用scrapy-splash最终拿到的response相当于是在浏览器全部渲染完成以后的网页源代码。splash官方文档Splash - A javascript rendering service — Splash 3.5 documentation2. scrapy_spla.原创 2021-12-28 21:46:28 · 642 阅读 · 0 评论 -
Scrapy_redis框架原理分析并实现断点续爬以及分布式爬虫
爬虫之scrapy_redis原理分析并实现断点续爬以及分布式爬虫1. 下载github的demo代码 clone github scrapy-redis源码文件 git clone https://github.com/rolando/scrapy-redis.git 研究项目自带的demo mv scrapy-redis/example-project ~/scrapyredis-project 2. 观察dmo原创 2021-12-28 16:38:16 · 1388 阅读 · 0 评论 -
Scrapy_redis框架分布式爬虫的实现案例-书山有路网
普通爬虫:流程:创建项目 明确目标 创建爬虫 保存内容爬取书山有路网上图书页面:图书分类::有路网 - 买旧书 上有路点击到浏览图书所有分类:图书分类::有路网 - 买旧书 上有路详情页:开始创建爬虫项目:修改items.py文件:# Define here the models for your scraped items## See documentation in:# https://docs.scrapy.org/en/la...原创 2021-12-28 16:24:34 · 1321 阅读 · 0 评论 -
爬取百度图片
示例代码:import requestsimport osimport urllibclass Spider_baidu_image(): def __init__(self): self.url = 'http://image.baidu.com/search/acjson?' self.headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleW原创 2021-12-01 12:59:49 · 209 阅读 · 0 评论 -
Scrapy_redis框架的概念作用和流程
爬虫之scrapy_redis概念作用和流程在前面scrapy框架中已经能够使用框架实现爬虫爬取网站数据,如果当前网站的数据比较庞大, 我们就需要使用分布式来更快的爬取数据1. 分布式是什么简单的说 分布式就是不同的节点(服务器,ip不同)共同完成一个任务2. scrapy_redis的概念scrapy_redis是scrapy框架的基于redis的分布式组件3. scrapy_redis的作用Scrapy_redis在scrapy的基础上实现了更多,更强大的功能,具体原创 2021-02-14 21:48:56 · 421 阅读 · 0 评论 -
爬虫scrapy框架中间件的使用
爬虫之scrapy中间件的使用1. scrapy中间件的分类和作用1.1 scrapy中间件的分类根据scrapy运行流程中所在位置不同分为:【中间件离哪个模块近就称为什么中间件】下载中间件 爬虫中间件1.2 scrapy中间的作用:预处理request和response对象对header以及cookie进行更换和处理 使用代理ip等 对请求进行定制化操作,但在scrapy默认的情况下 两种中间件都在middlewares.py一个文件中 【平时主要用下载中间件】爬虫中间.原创 2021-02-14 01:07:24 · 1253 阅读 · 5 评论 -
Scrapy框架中的crawlspider爬虫
爬虫之scrapy的crawlspider爬虫1 crawlspider是什么回顾之前的代码中,我们有很大一部分时间在寻找下一页的url地址或者是内容的url地址上面,这个过程能更简单一些么?思路:从response中提取所有的满足规则的url地址 自动的构造自己requests请求,发送给引擎对应的crawlspider就可以实现上述需求,能够匹配满足条件的url地址,组装成Reuqest对象后自动发送给引擎,同时能够指定callback函数即:crawlspider爬虫可以按原创 2021-02-13 19:06:07 · 579 阅读 · 1 评论 -
爬虫Scrapy框架小工具shell
爬虫之小工具shell然后随便拿一个链接测试一下是否能到达页面原创 2021-02-13 15:27:37 · 205 阅读 · 0 评论 -
Scrapy框架中管道的使用
爬虫之scrapy管道的使用1. pipeline中常用的方法:process_item(self,item,spider): 管道类中必须有的函数 实现对item数据的处理 必须return item open_spider(self, spider): 在爬虫开启的时候仅执行一次 【相当于__init__】 close_spider(self, spider): 在爬虫关闭的时候仅执行一次 【相当于__del__】2. 管道文件的修改继续完善wangyi爬...原创 2021-02-11 01:19:22 · 2284 阅读 · 4 评论 -
Scrapy框架模拟Github网站登陆
爬虫之scrapy模拟登陆1. 回顾之前的模拟登陆的方法1.1 requests模块是如何实现模拟登陆的?直接携带cookies请求页面 找url地址,发送post请求存储cookie1.2 selenium是如何模拟登陆的?找到对应的input标签,输入文本点击登陆1.3 scrapy的模拟登陆直接携带cookies 找url地址,发送post请求存储cookie2. scrapy携带cookies直接获取需要登陆后的页面应用场景cookie过期时间很长,常见于一些不原创 2021-02-09 23:50:57 · 351 阅读 · 0 评论 -
Scrapy框架items数据建模、翻页请求、requests对象请求、meta参数的使用
爬虫之scrapy数据建模与请求1. 数据建模通常在做项目的过程中,在items.py中进行数据建模1.1 为什么建模定义item即提前规划好哪些字段需要抓,防止手误,因为定义好之后,在运行过程中,系统会自动检查 配合注释一起可以清晰的知道要抓取哪些字段,没有定义的字段不能抓取,在目标字段少的时候可以使用字典代替 使用scrapy的一些特定组件需要Item做支持,如scrapy的ImagesPipeline管道类,百度搜索了解更多1.2 如何建模在items.py文件中定义要提原创 2021-02-09 18:17:56 · 901 阅读 · 2 评论 -
Scrapy框架的入门使用
爬虫之scrapy的入门使用1 安装scrapy命令: sudo apt-get install scrapy或者: pip/pip3 install scrapy2 scrapy项目开发流程创建项目: scrapy startproject mySpider 生成一个爬虫: scrapy genspider itcast itcast.cn 提取数据: 根据网站结构在spider中实现数据采集相关内容 保存数据: 使用p.转载 2021-02-09 00:59:57 · 253 阅读 · 0 评论 -
Scrapy框架的概念、作用和工作流程
爬虫之scrapy的概念和流程1. scrapy的概念Scrapy是一个Python编写的开源网络爬虫框架。它是一个被设计用于爬取网络数据、提取结构性数据的框架。Scrapy 使用了Twisted['twɪstɪd]异步网络框架,可以加快我们的下载速度。Scrapy文档地址:http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html2. scrapy框架的作用少量的代码,就能够快速的抓取3. scrapy的原创 2021-02-08 18:35:45 · 281 阅读 · 0 评论 -
爬虫之js有道翻译
爬虫之js有道翻译示例代码:import requestsimport hashlibimport timeimport jsonimport randomclass Youdao(object): def __init__(self, word): self.url = 'http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule' # 有道翻译中,请原创 2021-02-06 22:07:40 · 289 阅读 · 0 评论 -
爬虫之js2py的使用
爬虫之js2py的使用在知道了js如何生成我们想要的数据之后,那么接下来我们就需要使用程序获取js执行之后的结果了1.1 js2py的介绍js2py是一个js的翻译工具,也是一个通过纯python实现的js的解释器1.2 js的执行思路js的执行方式大致分为两种:在了解了js内容和执行顺序之后,通过python来完成js的执行过程,得到结果 在了解了js内容和执行顺序之后,使用类似js2py的模块来执js代码,得到结果但是在使用python程序实现js的执行时候,需要观察的j原创 2021-02-06 15:42:45 · 6842 阅读 · 0 评论 -
爬虫之观察js的执行过程
爬虫之观察js的执行过程找到js的位置之后,我们可以来通过观察js的位置,找到js具体在如何执行,后续我们可以通过python程序来模拟js的执行,或者是使用类似js2py直接把js代码转化为python程序去执行观察js的执行过程最简单的方式是添加断点添加断点的方式:在左边行号点击即可添加,对应的右边BreakPoints中会出现现有的所有断点添加断点之后继续点击登录,每次程序在断点位置都会停止,通过如果该行有变量产生,都会把变量的结果展示在Scoope中在上图的右上角有1,2,3原创 2021-02-06 14:36:04 · 415 阅读 · 0 评论 -
爬虫之JS的解析确定js的位置
爬虫之JS的解析确定js的位置对于前面人人网的案例(http://www.renren.com),我们知道了url地址中有部分参数,但是参数是如何生成的呢?毫无疑问,参数肯定是js生成的,那么如何获取这些参数的规律呢?通过下面的学习来了解1.1 观察按钮的绑定js事件 【通过元素的绑定事件监听函数找到js文件】通过点击按钮,然后点击Event Listener,部分网站可以找到绑定的事件,对应的,只需要点击即可跳转到js的位置1.2 通过search all file 来搜...原创 2021-02-06 12:50:27 · 578 阅读 · 0 评论 -
爬虫之chrome浏览器使用方法介绍
爬虫之chrome浏览器使用方法介绍1 新建隐身窗口浏览器中直接打开网站,会自动带上之前网站时保存的cookie,但是在爬虫中首次获取页面是没有携带cookie的,这种情况如何解决呢?使用隐身窗口,首次打开网站,不会带上cookie,能够观察页面的获取情况,包括对方服务器如何设置cookie在本地2 chrome中network的更多功能2.1 Perserve log默认情况下,页面发生跳转之后,之前的请求url地址等信息都会消失,勾选perserve log后之前的请原创 2021-02-06 11:49:42 · 1539 阅读 · 0 评论 -
爬虫之常见的验证码的种类
爬虫之常见的验证码的种类1.1 url地址不变,验证码不变这是验证码里面非常简单的一种类型,对应的只需要获取验证码的地址,然后请求,通过打码平台识别即可1.2 url地址不变,验证码变化这种验证码的类型是更加常见的一种类型,对于这种验证码,大家需要思考:在登录的过程中,假设我输入的验证码是对的,对方服务器是如何判断当前我输入的验证码是显示在我屏幕上的验证码,而不是其他的验证码呢?在获取网页的时候,请求验证码,以及提交验证码的时候,对方服务器肯定通过了某种手段验证我之前获取的验原创 2021-02-06 11:07:17 · 403 阅读 · 0 评论 -
爬取网站图片并保存到本地
爬取网站图片并保存到本地第一步:模拟浏览器发出请求,获取网页数据import requests# 目标网站url = 'https://baijiahao.baidu.com/s?id=1687278509395553439&wfr=spider&for=pc'# 头部伪装headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/ Firefox/84.0'}#原创 2021-02-05 15:13:00 · 2139 阅读 · 0 评论 -
Ubuntu 无界面使用selenium chrome + headless
Ubuntu 无界面使用selenium chrome + headless1. 安装 selenium :sudo pip install selenium2. 安装 chromdriver: 进入淘宝镜像源下载 chromdriver, 可以查看 notes.txt 文件,看chrome 和ChromDriver 两者相对应的兼容版本下载地址:https://npm.taobao.org/mirrors/chromedriver3. 下载chrome : 下载chrome...原创 2021-02-04 16:24:19 · 1285 阅读 · 0 评论 -
爬虫之验证码处理
爬虫之验证码处理1.图片验证码1.1 什么是图片验证码验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。1.2 验证码的作用防止恶意破解密码、刷票、论坛灌水、刷页。有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试,实际上使用验证码是现在很多网站通行原创 2021-01-31 22:42:50 · 2257 阅读 · 0 评论 -
爬虫之常见的反爬手段和解决思路
爬虫之常见的反爬手段和解决思路1 服务器反爬的原因 爬虫占总PV(PV是指页面的访问次数,每打开或刷新一次页面,就算做一个pv)比例较高,这样浪费钱(尤其是三月份爬虫)。 三月份爬虫是个什么概念呢?每年的三月份我们会迎接一次爬虫高峰期,有大量的硕士在写论文的时候会选择爬取一些往网站,并进行舆情分析。因为五月份交论文,所以嘛,大家都是读过书的,你们懂的,前期各种DotA,LOL,到了三月份了,来不及了,赶紧抓数据,四月份分析一下,五月份交论文,就是这么个节奏。 公司可免费查询的资源被批原创 2021-01-31 17:26:41 · 2058 阅读 · 0 评论 -
爬虫之lxml模块中etree.tostring函数的使用
爬虫之lxml模块中etree.tostring函数的使用运行下边的代码,观察对比html的原字符串和打印输出的结果from lxml import etreehtml_str = ''' <div> <ul> <li class="item-1"><a href="link1.html">first item</a></li> <li class="item-1"><原创 2021-01-30 12:04:56 · 3316 阅读 · 0 评论 -
爬虫之爬取百度贴吧
爬虫之爬取百度贴吧直接示例代码:import requests# from lxml import html# etree = html.etreefrom lxml import etreeclass Tieba(object): def __init__(self, name): self.url = f'https://tieba.baidu.com/f?kw={name}' self.headers = { 'User原创 2021-01-30 11:54:02 · 1105 阅读 · 6 评论 -
爬虫之 lxml模块的安装与使用示例
爬虫之 lxml模块的安装与使用示例lxml模块是一个第三方模块,安装之后使用1.1 lxml模块的安装对发送请求获取的xml或html形式的响应内容进行提取pip/pip3 install lxml1.2 爬虫对html提取的内容提取标签中的文本内容 提取标签中的属性的值 比如,提取a标签中href属性的值,获取url,进而继续发起请求 1.3 lxml模块的使用 导入lxml 的 etree 库 from lxml import etree 【此时这..原创 2021-01-26 22:27:53 · 1302 阅读 · 0 评论 -
爬虫之xpath语法-常用节点选择语法
爬虫之xpath语法-常用节点选择语法可以通过通配符来选取未知的html、xml的元素1.1 选取未知节点的语法通配符 描述 * 匹配任何元素节点。 node() 匹配任何类型的节点。 1.2 语法练习从itcast的页面中http://www.itcast.cn/,选中全部的标签、全部的属性全部的标签 //* 全部的属性 //node() ...原创 2021-01-26 21:47:16 · 280 阅读 · 0 评论 -
爬虫之xpath语法-节点修饰语法
爬虫之xpath语法-节点修饰语法可以根据标签的属性值、下标等来获取特定的节点1.1 节点修饰语法1.2 关于xpath的下标在xpath中,第一个元素的位置是1 最后一个元素的位置是last() 倒数第二个是last()-11.3 语法练习从itcast的页面中,选择所有学科的名称、第一个学科的链接、最后一个学科的链接:http://www.itcast.cn/所有的学科的名称 //div[@class="nav_txt"]//a[@cla.原创 2021-01-26 00:07:55 · 391 阅读 · 0 评论 -
爬虫之xpath语法-基础节点选择语法
爬虫之xpath语法-基础节点选择语法XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。 这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。 使用chrome插件选择标签时候,选中时,选中的标签会添加属性class="xh-highlight"1.1 xpath定位节点以及提取属性或文本内容的语法1.2 语法练习接下来我们通过itcast的页面来练习上述语法:http://www.itcast.cn/选择所有的h2下的文本原创 2021-01-25 23:32:40 · 905 阅读 · 0 评论 -
爬虫之 xpath的节点关系
爬虫之 xpath的节点关系学习xpath语法需要先了解xpath中的节点关系1.1 xpath中的节点是什么每个html、xml的标签我们都称之为节点,其中最顶层的节点称为根节点。我们以xml为例,html也是一样的1.2 xpath中节点的关系author是title的第一个兄弟节点...原创 2021-01-25 23:10:43 · 711 阅读 · 0 评论 -
爬虫之谷歌浏览器xpath helper插件的安装和使用
爬虫之谷歌浏览器xpath helper插件的安装和使用要想利用lxml模块提取数据,需要我们掌握xpath语法规则。接下来我们就来了解一下xpath helper插件,它可以帮助我们练习xpath语法1.1 谷歌浏览器xpath helper插件的作用在谷歌浏览器中对当前页面测试xpath语法规则1.2 谷歌浏览器xpath helper插件的安装和使用我们以windos为例进行xpath helper的安装1.2.1 xpath helper插件的安装 下载Ch原创 2021-01-25 23:06:35 · 1534 阅读 · 0 评论 -
爬虫之 lxml模块和xpath语法
爬虫之 lxml模块和xpath语法对html或xml形式的文本提取特定的内容,就需要我们掌握lxml模块的使用和xpath语法。lxml模块可以利用XPath规则语法,来快速的定位HTML\XML 文档中特定元素以及获取节点信息(文本内容、属性值) XPath (XML Path Language) 是一门在 HTML\XML 文档中查找信息的语言,可用来在 HTML\XML 文档中对元素和属性进行遍历。 W3School官方文档:http://www.w3school.com.cn/xp原创 2021-01-25 22:59:24 · 152 阅读 · 0 评论