
爬虫
peiwang245
高山仰止,景行行止,夯实每一步,努力前行。
展开
-
scrapy中如何设置应用cookies(三种方式)
本人是python3.6总的来说,scrapy框架中设置cookie有三种方式。第一种:setting文件中设置cookie当COOKIES_ENABLED是注释的时候scrapy默认没有开启cookie当COOKIES_ENABLED没有注释设置为False的时候scrapy默认使用了settings里面的cookie当COOKIES_ENABLED设置为True的时候scr...转载 2020-01-14 09:21:13 · 3712 阅读 · 0 评论 -
CSUR文章下载
程序网址:https://github.com/peiwang245/CSUR-程序网址:https://github.com/peiwang245/CSUR-1.目录│ csur00.txt│ csur01.txt│ csur02.txt│ csurcrawl02.py│ csurpaperlist.txt│ csurtitlelist.txt│ csur_...原创 2019-12-10 15:45:27 · 922 阅读 · 0 评论 -
Scrapy 框架几种request请求返回类型
requestsscrapy.Request 返回类型r = Request(url,callback = self.parse)r: <GET http://www.tjconstruct.cn/Zbgs/Index/1?type%20=%20sgzb>type(r) : scrapy.http.request.RequestresponseO...原创 2019-11-08 16:04:47 · 1804 阅读 · 0 评论 -
Scrapy多线程爬虫原理
一:多线程爬虫原理二:Scrapy框架定义:Scrapy是基于Python实现,方便爬取网站数据、提取结构性数据的应用框架。底层:使用Twisted异步网络框架来处理网络通讯,加快下载速度。不用手动实现异步框架,包含了多种中间件接口,非常灵活。Scrapy运行架构流程图:组件说明: Scrapy Engine(引擎)...转载 2020-01-09 14:06:32 · 5072 阅读 · 0 评论 -
gerapy框架的安装使用
一,gerapy框架Gerapy 是一款分布式爬虫管理框架,支持 Python 3,基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 开发,Gerapy 可以帮助我们:更方便地控制爬虫运行 更直观地查看爬虫状态 更实时地查看爬取结果 更简单地实现项...转载 2019-10-16 09:10:27 · 174 阅读 · 0 评论 -
使用BloomFilter优化scrapy-redis去重
使用BloomFilter优化scrapy-redis去重1. 背景做爬虫的都知道,scrapy是一个非常好用的爬虫框架,但是scrapy吃内存非常的厉害。其中有个很关键的点就在于去重。“去重”需要考虑三个问题:去重的速度和去重的数据量大小,以及持久化存储来保证爬虫能够续爬。 去重的速度:为了保证较高的去重速度,一般是将去重放到内存中来做的。例如python内置的set(...转载 2019-08-26 19:05:46 · 344 阅读 · 0 评论 -
xpath定位中详解id 、starts-with、contains、text()和last() 的用法
1、XPATH使用方法使用XPATH有如下几种方法定位元素(相比CSS选择器,方法稍微多一点):a、通过绝对路径定位元素(不推荐!)WebElement ele = driver.findElement(By.xpath("html/body/div/form/input"));b、通过相对路径定位元素WebElement ele = driver.findElement(By.xpa...转载 2019-08-30 12:02:01 · 1024 阅读 · 0 评论 -
python scrapy项目下spiders内多个爬虫同时运行
一般创建了scrapy文件夹后,可能需要写多个爬虫,如果想让它们同时运行而不是顺次运行的话,得怎么做? a、在spiders目录的同级目录下创建一个commands目录,并在该目录中创建一个crawlall.py,将scrapy源代码里的commands文件夹里的crawl.py...转载 2019-09-12 09:20:29 · 712 阅读 · 0 评论 -
Python---爬虫---存储---(布隆过滤器)BloomFilter(数据去重,断点续爬)
pip3 install pybloom_live from pybloom_live import BloomFilterimport hashlib Bloom_data = BloomFilter(1000000000,0.01)md5_qa = hashlib.md5(data.encode('utf8')).hexdigest()md5_qa = bytes(...转载 2019-09-20 14:02:39 · 273 阅读 · 0 评论 -
安装scrapyd-client解决后期爬虫部署上线,打包成egg的方案
1.安装依赖库:pip install scrapyd-client2.验证是否成功任意doc窗口打开运行: scrapyd-deploy -h如出现下图则证明成功:错误处理:报错: 'scrapyd-deploy' 不是内部或外部命令,也不是可运行的程序或批处理文件解决:1.进入自己电脑安装python 的位置,找到Scripts文件夹,创建文件 sc...原创 2019-09-24 15:33:06 · 548 阅读 · 0 评论 -
XPath匹配含有指定文本的标签---contains的用法
1、标签中只包含文字<div><ulid="side-menu"><liclass="active"><a href="#">卷期号:</a></li></ul></div>取包含 '卷期号' 三个字的节点/...转载 2019-09-24 18:08:13 · 5530 阅读 · 0 评论 -
xpath定位,利用属性结合正则和contains、starts-with
利用标签属性的值定位 response.xpath(r'//li[@class="nextlink"]//@href').extract_first()提取a标签内的文本信息bidtext = bid.xpath(r'.//a/text()').extract()根据文本内容定位提取onclick属性值,contains()函数aa = response.xpath(...原创 2019-09-27 08:29:05 · 1931 阅读 · 0 评论 -
Python---爬虫---存储---(布隆过滤器)BloomFilter(数据去重,断点续爬)
pip3 install pybloom_live from pybloom_live import BloomFilterimport hashlib Bloom_data = BloomFilter(1000000000,0.01)md5_...转载 2019-08-26 18:54:53 · 381 阅读 · 0 评论 -
信息摘要算法之一:MD5算法分析及实现
MD5即Message-DigestAlgorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。1、MD5算法简介MD5在90年代初由MIT的计算机科学实验室和RSA Data SecurityInc发明,...转载 2019-08-26 18:51:44 · 381 阅读 · 0 评论 -
爬虫程序小问题便解:
1、爬虫程序运行过程中如何屏蔽掉pycharm run界面打印输出爬取内容 1.在setting.py中ROBOTSTXT_OBEY = False的下面添加LOG_LEVEL=“WARNING” 2.运行scrapy之后只显示想要打印的结果...原创 2019-08-26 18:48:41 · 141 阅读 · 0 评论 -
Bloom Filter概念和原理
Bloom Filter概念和原理焦萌 2007年1月27日 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集...转载 2019-08-13 20:41:18 · 153 阅读 · 0 评论 -
什么是回调函数?
什么是回调函数?我们绕点远路来回答这个问题。编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程序员会给自己写的库留下一些接口,即API(application progr...转载 2019-08-13 14:33:42 · 147 阅读 · 0 评论 -
MongoDB数据库以及PyCharm可视化数据
今天,想把爬虫下来的数据存储到数据库中,看网上大家说有一个MongoDB数据库,然后我就试了一下,把一些操作记录下来,供大家参考。 原本以为在Pycharm中有对应的数据库插件,确实有,但是不知道是封了还是怎么回事,就是访问不到,我翻墙试了下,还是没成功(深度怀疑这个地方呈现的是一个列表) 如下图所示: 然后看到说可以在本地先安装Mon...转载 2019-08-02 21:00:12 · 886 阅读 · 0 评论 -
爬虫的增量式抓取和数据更新
一些想法页面爬的多了,量上去了之后,就会遇到其他的问题,其实不管做什么技术量大了都会有问题。一般情况下,我认为解决"大量"问题的思路有两个:一种是着力于优化系统的能力,让原本只能一分钟处理100条的系统提升到一分钟1000条之类的,在我看来并行、分布式、集群都属于这个范畴,这种思路下,系统处理的内容没有变化只是单纯的处理速度变快了;另一种是着力于提...转载 2019-08-13 20:48:07 · 649 阅读 · 0 评论 -
Token机制
一、什么是token token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。 简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token的前几位以哈希算法压缩的...转载 2019-08-13 21:02:47 · 320 阅读 · 0 评论 -
chrome浏览器中 F12 功能的简单介绍
由于F12是前端开发人员的利器,所以我自己也在不断摸索中,查看一些博客和资料后,自己总...转载 2019-08-14 08:34:05 · 1227 阅读 · 0 评论 -
Python3爬虫抓取网页中文输出乱码
对于Python3爬虫抓取网页中文出现输出乱码import urllib.requestresponse = urllib.request.urlopen('http://www.baidu.com')html = response.read()print(html)上面的代码正常但是运行的时候结果遇到中文会以\xe7\x99\xbe\xe5\xba\xa6\xe4...转载 2019-08-16 19:01:11 · 1094 阅读 · 2 评论 -
富文本编辑器HTMLField与 mdeditor
1、引入HTMLField之前,需要安装:pip install Django-mdeditorpip install Django-tinymce2、在models.py中导入模块:from django.db import modelsfrom mdeditor.fields import MDTextFieldfrom tinymce.models import HTM...原创 2019-08-21 14:46:56 · 704 阅读 · 0 评论 -
scrapy 爬虫框架中 ajax 异步加载 post请求方式的
scrapy 爬虫框架中 ajax 异步加载 post请求方式的处理方法:以福建省公共资源交易电子公共服务网站为例https://www.fjggfw.gov.cn/Website/JYXXNew.aspx,爬取招标结果,打开F12控制台界面如下图所示:Request Method:POSTpost请求方式中主要是Form Data中的信息,及每次请求Cookie信息,通过构造Co...原创 2019-08-12 17:56:17 · 1728 阅读 · 3 评论 -
使用Python将HTML文档转换为Markdown文档
下面先上代码import html2text as ht # pip install html2textimport requeststext_maker = ht.HTML2Text()text_maker.bypass_tables = Falsehtmlfile = requests.get(npurl)#npurl 为网址htmlfile.encoding = 'gb...原创 2019-08-21 15:35:26 · 2145 阅读 · 0 评论 -
scrapy框架不同的爬虫程序设置不同pipelines
前言:scrapy是个非常不错的处理高并发的爬虫框架,其底层是异步框架 twisted,优势明显。现在来看一个问题:当存在多个爬虫的时候如何指定对应的管道呢?main.py定义了两个爬虫:bidVtj、winbidVtjexecute(['scrapy','crawl','callbidVtj'])execute(['scrapy', 'crawl', 'winbidVt...原创 2019-08-26 11:19:29 · 1775 阅读 · 0 评论 -
相对路径、绝对路径
相对路径、绝对路径debug main.py 文件os.path.abspath('.')为main.py 文件的绝对路径os.path.abspath('.')Out[3]: 'C:\\Users\\admin\\Desktop\\bulidingscrapy\\myproject\\buildingS'os.path.abspath(__fi...原创 2019-08-02 14:51:34 · 247 阅读 · 0 评论