网络爬虫
文章平均质量分 91
对Python爬虫进行介绍
pengjunlee
不学自知,不问自晓,古今行事,未之有也。
展开
-
gerapy框架的安装使用
一,gerapy框架Gerapy 是一款分布式爬虫管理框架,支持 Python 3,基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 开发,Gerapy 可以帮助我们:更方便地控制爬虫运行 更直观地查看爬虫状态 更实时地查看爬取结果 更简单地实现项目部署 更统一地实现主机管理 更轻松地编写爬虫代码(几乎没用,感觉比较鸡肋)各个框架的作用: Scr转载 2020-05-14 09:35:15 · 771 阅读 · 0 评论 -
使用scrapyd 管理爬虫
scrapyd 是由scrapy 官方提供的爬虫管理工具,使用它我们可以非常方便地上传、控制爬虫并且查看运行日志。参考官方文档:http://scrapyd.readthedocs.org/en/latest/api.html使用scrapyd 和我们直接运行scrapy crawl myspider有什么区别呢?scrapyd 同样是通过上面的命令运行爬虫的,不同的是它提供一个JSON web service 监听的请求,我们可以从任何一台可以连接到服务器的电脑发送请求安排爬虫运行,或者停..转载 2020-05-13 16:11:35 · 1344 阅读 · 0 评论 -
windows下的scrapyd-deploy无法运行的解决办法
在python目录的Scripts目录下,能找到一个scrapy-deploy的文件,但是无法运行。下面来讲解决办法:1.进到D:/python/Scripts 目录下,创建两个新文件:scrapy.bat 文件 scrapyd-deploy.bat 文件2. 编辑两个文件:scrapy.bat文件中输入以下内容 :@echo offC:\Python36\python D:\Python36\Scripts\scrapy %*scrapyd-deploy.bat 文件中输入以下转载 2020-05-13 14:49:04 · 975 阅读 · 0 评论 -
21经济网爬虫样例
本文主要记录如何基于 Scrapy 获取21经济网中金融分类下的新闻资讯内容。items.pyimport scrapyclass NewsItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() title = scrapy.Field(...原创 2020-03-18 11:09:59 · 396 阅读 · 0 评论 -
国家统计局爬虫样例
items.pyimport scrapyclass NewsItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() title = scrapy.Field() # 标题 summary = scrapy.Field() # 主旨 ...原创 2020-03-16 15:55:16 · 593 阅读 · 0 评论 -
用Crontab定时运行scrapy爬虫
脚本如下:export LANG=zh_CN.UTF-8spider1='spider1'kill -9 `ps -ef | grep $spider1 | grep -v grep | awk '{print $2}'`cd ~/work/virtual/ # 切换到虚拟环境的目录,如果没有使用虚拟环境,则不需要/usr/local/bin/pipenv shell # 激活虚...转载 2020-03-11 14:21:21 · 738 阅读 · 0 评论 -
CentOS7下无界面使用Selenium+chromedriver进行自动化测试
安装python与pippython及pip安装请移步:《Linux下使用源码包安装Python》安装selenium你可以使用pip 命令来安装 Selenium:pip install selenium安装过程类似下面这样。[root@localhost src]# pip install seleniumCollecting selenium Downl...原创 2019-06-14 19:04:44 · 27669 阅读 · 2 评论 -
爬虫需谨慎!那些你不知道的爬虫反爬虫套路,学起来!
目录前言一、爬虫反爬虫运行现状1、真实世界的爬虫比例2、哭笑不得的决策思路二、爬虫反爬虫技术现状1、为python平反2、无法绕开的误伤率3、前端工程师的逆袭4、误伤,还是误伤三、爬虫反爬虫套路现状1、不要回应2、进化3、法律途径4、搞事情,立Flag四、爬虫反爬虫的未来前言爬虫与反爬虫,是一个很不阳光的行业。这里说的不阳...转载 2019-05-29 11:05:59 · 31170 阅读 · 2 评论 -
Scrapy中如何向Spider传入参数
目录方式一方式二settings.pyrun.pypipelines.py启动示例在使用Scrapy爬取数据时,有时会碰到需要根据传递给Spider的参数来决定爬取哪些Url或者爬取哪些页的情况。例如,百度贴吧的放置奇兵吧的地址如下,其中 kw参数用来指定贴吧名称、pn参数用来对帖子进行翻页。https://tieba.baidu.com/f?kw=放置奇兵&a...原创 2019-05-27 15:47:37 · 33323 阅读 · 0 评论 -
IP代理池检测代理可用性
目录项目代码utils.pysettings.pyproxy_queue.pycheck_proxy.py运行方法在《基于Scrapy的IP代理池搭建》一文中,我们将从网页爬取到的免费代理IP按照如下格式保存到了Redis的 proxies:unchecked:list 队列中。同时,为了避免同一代理IP被重复存储,在将代理保存到 proxies:unch...原创 2019-05-23 19:01:44 · 42481 阅读 · 0 评论 -
XPath常用函数
目录有关数值的函数有关字符串的函数关于布尔值的函数有关序列的函数一般性的函数测试序列容量的函数Equals, Union, Intersection and Except合计函数生成序列的函数上下文函数函数示例摘自W3School官方文档:http://www.w3school.com.cn/xpath/index.asp有关数值的函数 ...原创 2019-05-20 10:03:43 · 32762 阅读 · 0 评论 -
基于Scrapy的IP代理池搭建
目录一、为什么要搭建爬虫代理池二、搭建思路三、搭建代理池items.pykuai_proxy.pymiddlewares.pypipelines.pysettings.pyutils.py一、为什么要搭建爬虫代理池在众多的网站防爬措施中,有一种是根据ip的访问频率进行限制,即在某一时间段内,当某个ip的访问次数达到一定的阀值时,该ip就会被拉黑、在一段时...原创 2019-05-15 16:27:54 · 50211 阅读 · 8 评论 -
Scrapy-Redis之RedisSpider与RedisCrawlSpider
目录RedisSpider代码示例RedisCrawlSpider代码示例在上一章《Scrapy-Redis入门实战》中我们利用scrapy-redis实现了京东图书爬虫的分布式部署和数据爬取。但存在以下问题:每个爬虫实例在启动的时候,都必须从start_urls开始爬取,即每个爬虫实例都会请求start_urls中的地址,属重复请求,浪费系统资源。为了解决这一问题,Scrap...原创 2019-05-08 18:12:52 · 31779 阅读 · 5 评论 -
Scrapy-Redis源码解读
在上一章《Scrapy-Redis入门实战》中,我们在一个普通的Scrapy项目的settings.py文件中仅额外增加了如下几个配置就使项目实现了基于Redis的Requests请求过滤和Items持久化两大功能。####################################################################下面是Scrapy-Redis相关配置#...原创 2019-05-07 14:54:32 · 27037 阅读 · 0 评论 -
Scrapy-Redis入门实战
目录简介Scrapy-Redis特性Scrapy-Redis示例开发环境创建项目定义Item创建Spider修改配置启动爬虫简介scrapy-redis是一个基于redis的scrapy组件,用于快速实现scrapy项目的分布式部署和数据爬取,其运行原理如下图所示。Scrapy-Redis特性分布式爬取你可以启动多个共享同一redis队列...原创 2019-05-05 19:28:13 · 47305 阅读 · 15 评论 -
Scrapy--模拟登录
目录为什么要模拟登录请求时携带Cookies发送Post请求模拟登录scrapy.FormRequest()scrapy.FormRequest.from_response()为什么要模拟登录有些网站是需要登录之后才能访问的,即便是同一个网站,在用户登录前后页面所展示的内容也可能会大不相同,例如,未登录时访问Github首页将会是以下的注册页面:然而,登录后访问...原创 2019-05-05 15:53:21 · 36048 阅读 · 2 评论 -
Scrapy--CrawlSpider
目录CrawlSpider简介rulesparse_start_url(response)Rule(爬取规则)Link ExtractorsCrawlSpider实战创建项目定义Item创建CrawlSpider编写Pipeline启动爬虫CrawlSpider简介class scrapy.spiders.CrawlSpiderCr...原创 2019-04-28 11:54:12 · 27509 阅读 · 0 评论 -
Scrapy--下载器中间件(Downloader Middleware)
目录下载器中间件简介自定义下载器中间件RandomUserAgentMiddlewareRandomProxyMiddleware激活下载器中间件内置下载器中间件CookiesMiddlewareDefaultHeadersMiddlewareDownloadTimeoutMiddlewareHttpProxyMiddlewareRedirectMidd...原创 2019-04-25 17:23:31 · 34906 阅读 · 0 评论 -
2019叮当猫双11店铺预售统计
1.获取店铺的商品列表import osimport reimport timeimport randomimport loggingimport pathlibimport requestsfrom lxml import etreefrom pymongo import MongoClient# 根据需要手动修改要爬取的店铺ID,并设置cookieshopId =...原创 2019-10-24 13:47:27 · 1188 阅读 · 0 评论 -
Scrapy--入门实战
目录Scrapy简介安装ScrapyScrapy工作流程Scrapy实战创建项目定义Item创建Spider编写Pipeline启动爬虫参考文章Scrapy简介Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了网络抓取所设计的, 也可以应用在获取API所返...原创 2019-04-24 18:32:55 · 32367 阅读 · 0 评论 -
Python中使用XPath
目录XPath简介XPath语法选取节点谓语(Predicates)选取未知节点选取若干路径XPath 轴XPath 运算符使用lxml摘自W3School官方文档:http://www.w3school.com.cn/xpath/index.aspXPath简介XPath (XML Path Language)是一门在 HTML\XML 文档中查找...原创 2019-04-15 16:07:16 · 48905 阅读 · 7 评论 -
Python中使用正则表达式
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。下表整理了一些正则表达式中经常用到的语法: 语法 描述 表达式示例 匹配示例 字符 普通字符 匹配自身 abc abc \t 匹配一个制表符 \r 匹配一个回车符 \n 匹配一个换行符...原创 2019-04-13 16:18:36 · 37695 阅读 · 0 评论 -
使用Python解析JSON
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。Python3 中可以使用 json 模块来对 JSON 数据进行编解码,主要包含了下面4个操作函数:提示:所谓类文件对象指那些具有read()或者 write()方法的对象,例如,f = open('a.txt','r'),其中的f有read()方法,所以f就是类文件对象。在json的编...原创 2019-04-13 12:44:02 · 131505 阅读 · 5 评论 -
如何建立爬虫代理ip池
目录一、为什么需要建立爬虫代理ip池二、如何建立一个爬虫代理ip池 原文地址:https://www.cnblogs.com/TurboWay/p/8172246.html一、为什么需要建立爬虫代理ip池 在众多的网站防爬措施中,有一种是根据ip的访问频率进行限制的,在某段时间内,当某个ip的访问量达到一定的阀值时,该ip会被拉黑、在一段时...转载 2019-04-10 09:08:20 · 37128 阅读 · 1 评论 -
Requests基础用法
目录发送请求传递 URL 参数响应内容文本响应内容二进制响应内容JSON 响应内容原始响应内容定制请求头添加请求内容发送 Multipart-Encoded 文件响应状态码响应头Cookie重定向与请求历史错误与异常发送请求使用 Requests 发送网络请求非常简单,支持的 HTTP 请求类型:GET,POST,PUT,DELE...原创 2018-09-26 14:56:11 · 45352 阅读 · 0 评论 -
使用Python爬取Json数据
一年一度的双十一即将来临,临时接到了一个任务:统计某品牌数据银行中自己品牌分别在2017和2018的10月20日至10月31日之间不同时间段的AIPL(“认知”(Aware)、“兴趣”(Interest)、“购买”(Purchase)、“忠诚”(Loyalty))流转率。使用Fiddler获取到目标地址为:https://databank.yushanfang.com/api/ecapi?...原创 2018-11-05 09:57:06 · 77372 阅读 · 7 评论 -
使用BeautifulSoup4解析XML
Beautiful Soup 是一个用来从HTML或XML文件中提取数据的Python库,它利用大家所喜欢的解析器提供了许多惯用方法用来对文档树进行导航、查找和修改。帮助文档英文版:https://www.crummy.com/software/BeautifulSoup/bs4/doc/帮助文档中文版:https://www.crummy.com/software/BeautifulSo...原创 2018-11-22 10:04:59 · 82335 阅读 · 4 评论 -
评论爬虫小样
随着反爬手段的推陈出新,使用爬虫框架被反爬的几率也越来越高了,于是我尝试使用最呆笨的方式爬取试了一下,居然可以,在此做下记录。# encoding=utf-8import reimport osimport timeimport jsonimport pathlibimport requestsimport loggingimport randomfrom pymongo...原创 2019-09-20 15:09:30 · 397 阅读 · 0 评论