随笔分类 -  爬虫

摘要:python脚本中可以通过PyExecJS库来处理js代码(可参考:excejs的使用),但是性能并不高,很难满足高并发的要求 Node.js是一个Javascript运行环境(runtime)。它对Google V8引擎进行了封装,使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,能够方便地搭建 阅读全文
posted @ 2021-10-07 02:51 eliwang 阅读(919) 评论(0) 推荐(0) 编辑
摘要:使用scrapy-splash,可以模拟浏览器来加载js,因此可以用来处理那些使用js动态加载的页面。 scrapy-splash组件的使用: 1、借助docker启动splash服务 docker的安装及配置镜像加速器 可参照https://www.cnblogs.com/eliwang/p/15 阅读全文
posted @ 2021-10-06 18:32 eliwang 阅读(780) 评论(0) 推荐(0) 编辑
摘要:JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具 语法: $ :根节点 @:现行节点 . 或者[ ] :取子节点 ..:不管位置,选择节点 *:匹配所有节点 [ ]:内部可以填上索引值、键名, 常用表达式: 示例: In[1]: from jsonpath import j 阅读全文
posted @ 2021-09-19 00:36 eliwang 阅读(268) 评论(0) 推荐(0) 编辑
摘要:fake_useragent模块已经封装好了各种浏览器的User-Agent,方便我们随机选取,但是最近使用该模块的时候一直报错:Maximum amount of retries reached 解决方案: 我们可以手动下载fake_useragent_0.1.11.json文件(以该版本为例), 阅读全文
posted @ 2021-09-16 21:57 eliwang 阅读(699) 评论(0) 推荐(0) 编辑
摘要:滑动验证距离 分别获取验证码背景图和滑块图两张照片,然后利用opencv库,通过高斯模糊和Canny算法进行处理,然后通过matchTemplate方法进行两张图的匹配,获得滑动距离。需要注意的是,知乎验证码在进行操作的时候,需要在原有基础上再向右偏移10px距离 def get_distance( 阅读全文
posted @ 2021-09-13 15:57 eliwang 阅读(1833) 评论(0) 推荐(0) 编辑
摘要:可以采取以下措施: 增大并发请求数 默认scrapy开启的并发线程为16个,可以适当进行增加。在settings配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发设置成了为100。 提升日志等级 在运行scrapy时,默认日志等级为DEBUG,会有大量日志信息的输出,为 阅读全文
posted @ 2021-08-30 16:27 eliwang 阅读(315) 评论(0) 推荐(0) 编辑
摘要:通过一个例子,了解一下fontTools库的简单使用 # coding:utf-8 from fontTools.ttLib import TTFont tf = TTFont('ztk01.woff') #实例化字体对象,也可以从内存中读取数据 tf = TTFont(BytesIO(data)) 阅读全文
posted @ 2021-07-14 23:24 eliwang 阅读(3453) 评论(0) 推荐(0) 编辑
摘要:pyquery的一些操作方法,可类比jQuery 一、快速使用示例: from pyquery import PyQuery as pq text = ''' <p name='p1'>第一个p标签<span>第一个span标签</span></p> <p>第二个p标签<span>第二个span标签 阅读全文
posted @ 2021-06-12 04:15 eliwang 阅读(149) 评论(0) 推荐(0) 编辑
摘要:一、目标 爬取梨视频-娱乐-版块下标签为‘最热’的视频,存储到本地'梨视频'目录下,视频名:视频标题.mp4 首页url:https://www.pearvideo.com/category_4 二、分析 首页可以提取到视频标题以及详情页url(部分),比如:'video_1731216',下面以该 阅读全文
posted @ 2021-06-04 19:27 eliwang 阅读(825) 评论(0) 推荐(0) 编辑
摘要:一、目标 爬取网易新闻首页(https://news.163.com/)中(国内、国际、军事、航空)四个版块的新闻内容,并且按照格式:(网易新闻/版块名/新闻标题.txt)创建文件名,写入新闻内容 二、分析 通过对首页、各版块页、以及详情页分析发现,只有四个版块中的新闻标题是通过js动态加载获取的, 阅读全文
posted @ 2021-06-03 02:23 eliwang 阅读(1089) 评论(0) 推荐(0) 编辑
摘要:scrapy不建议通过爬虫文件来发送请求下载大文件,而是通过scrapy已经封装好的管道类去执行,效率更高 管道类: from scrapy.pipelines.files import FilesPipeline # 专门用来下载文件的管道类 from scrapy.pipelines.image 阅读全文
posted @ 2021-05-31 01:00 eliwang 阅读(491) 评论(0) 推荐(0) 编辑
摘要:一、目标网页及要求 目标网页: https://www.xuexi.cn/f997e76a890b0e5a053c57b19f468436/018d244441062d8916dd472a4c6a0a0b.html 要求: 爬取页面中的详情页文章标题、内容、发布时间、文章来源,存入本地mongodb 阅读全文
posted @ 2021-05-29 18:27 eliwang 阅读(4410) 评论(0) 推荐(0) 编辑
摘要:一、简介 在执行某些IO密集型任务的时候,程序常常会因为等待 IO 而阻塞。为解决这一问题,可以考虑使用python中的协程异步。 从 Python 3.4 开始,Python 中加入了协程的概念,但这个版本的协程还是以生成器对象为基础的,在 Python 3.5 则增加了关键字async/awai 阅读全文
posted @ 2021-05-27 00:08 eliwang 阅读(361) 评论(0) 推荐(0) 编辑
摘要:一、认识Excel文件 Excel文件也被称做工作簿(workbook)。 每个工作簿可以包含多个工作表(sheet)。用户当前查看的表或关闭Excel前最后查看的表,被称为活动表。 每张表都是由行和列组成。列是以A开始的字母表示,行是以1开始的数字表示。 由特定行和列所指定的方格被称为单元格(ce 阅读全文
posted @ 2021-05-14 03:36 eliwang 阅读(774) 评论(0) 推荐(0) 编辑
摘要:css选择器 常用的选择器有如下几种: 1、标签选择器 标签选择器,此种选择器影响范围大,建议尽量应用在层级选择器中。举例: *{margin:0;padding:0} div{color:red} <div>....</div> <!-- 对应以上两条样式 --> <div class="box" 阅读全文
posted @ 2021-05-13 23:06 eliwang 阅读(134) 评论(0) 推荐(0) 编辑
摘要:知乎登陆验证码问题比较棘手,所以我们可以考虑通过cookie来模拟登陆。 思路: 1、通过浏览器手动登陆知乎,利用抓包工具(如Fiddler等)来获取登陆后的cookie信息,并将其处理成dict类型。 2、然后使用requests的会话(Session)对象来携带cookie信息发送请求,因为同一 阅读全文
posted @ 2021-05-12 21:15 eliwang 阅读(248) 评论(0) 推荐(0) 编辑
摘要:我们将之前的阳光热线问政平台爬虫案例,改写成Scrapy-redis分布式爬虫 1.items.py import scrapy class MyprojectItem(scrapy.Item): number = scrapy.Field() #帖子编号 title = scrapy.Field( 阅读全文
posted @ 2021-05-12 01:07 eliwang 阅读(289) 评论(0) 推荐(0) 编辑
摘要:Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-redis是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础的组件(仅有组件)。 一、Scrapy-Redis分布式策略: Master端(核心服务器):搭建一个Redis数据库,并开启redis-server 阅读全文
posted @ 2021-05-12 00:26 eliwang 阅读(422) 评论(0) 推荐(0) 编辑
摘要:一、要求 爬取世纪佳缘网当中(20-28周岁、来自北京、有图片的女孩)信息,包括昵称、婚姻状况、身高、年龄、学历、工作地点、自我介绍、择偶要求、个人主页链接以及个人图片链接。 二、分析 网站数据采用的js分页,通过Fiddler抓包工具分析: url:https://search.jiayuan.c 阅读全文
posted @ 2021-05-10 21:17 eliwang 阅读(348) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示