
爬虫
文章平均质量分 61
转身及不见
菜鸟一个,正在学习中,写博客是为了方便自己以后查找笔记,但也希望能帮助一些需要的人。
展开
-
代理IP
一般选择髙匿的原创 2018-06-11 11:24:32 · 178 阅读 · 0 评论 -
scrapy 架构文档
这是中文文档网址https://scrapy-chs.readthedocs.io/zh_CN/0.24/topics/architecture.html英文文档 https://doc.scrapy.org/en/latest/topics/architecture.html scrapy各部分之间的数据流向是如何交互:1>引擎将起始url构造成Reque...原创 2018-07-13 21:26:52 · 266 阅读 · 0 评论 -
requests模块实现cookie的自动化管理
主要逻辑:From http.cookiejar import LWPCookiejarImport requests Session = requests.Session()Session.cookies = LWPCookieJar(filename=’test.txt’)Response = session.get()/session.post()# 保存cookieSession.cook...原创 2018-07-13 20:26:38 · 1576 阅读 · 0 评论 -
ItemLoader对获取的数据提取和过滤步骤
1.在创建item_loader对象的时候,会执行item对象中input_processor和output_processor的初始化;2.在执行add_xpath、add_css、add_value函数的时候,会将提取得结果交给input_processor进行结果的处理,结果处理完以后暂时保存在item_loader中;3.等数据提取完毕,调用load_item()方法,执行output_p...原创 2018-07-13 21:30:15 · 691 阅读 · 0 评论 -
scrapy的url去重原理
1.需要将dont_filter设置为False开启去重,默认是True,没有开启去重;2.对于每一个url的请求,调度器都会根据请求得相关信息加密得到一个指纹信息,并且将指纹信息和set()集合中的指纹信息进行比对,如果set()集合中已经存在这个数据,就不在将这个Request放入队列中。如果set()集合中没有存在这个加密后的数据,就将这个Request对象放入队列中,等待被调度。...原创 2018-07-13 21:34:58 · 6219 阅读 · 2 评论 -
为什么需要搭建虚拟环境
Python的虚拟环境是如何进入虚拟环境和查看当前虚拟环境Workon1>搭建虚拟环境主要是为了保证环境得统一性,对于不同得应用建立专属得python环境,比如针对后台开发得django可以建立一个虚拟环境,针对爬虫开发得应用可以建立一个虚拟环境,避免环境之间产生冲突。2>可以避免一个环境造成得安装包过的多,导致环境加载缓慢。...原创 2018-07-14 10:44:28 · 4974 阅读 · 0 评论 -
scrapy中间件request和response函数返回值
scrapy中间件中,处理request请求的函数,它的返回值有哪几种情况,分别有什么作用?Retuen None: 将请求交给后续的中间件进行处理;Return Request: 将请求交给调度器重新调度,并终止后续中间件的执行;Return Response: 终止后续中间件及下载器的执行,直接将Response交给引擎。Return Except: 抛出异常 scrapy中间件中,处理...原创 2018-07-14 10:44:38 · 6659 阅读 · 0 评论 -
发送邮件和scrapy结合
主要代码如下:spider中建立.py文件,我命名为emailtest.py# -*- coding: utf-8 -*-import scrapy, timefrom datetime import datetimefrom ..emailsend import EmailSendclass EmailtestSpider(scrapy.Spider): name = 'em...原创 2018-07-14 10:36:19 · 1470 阅读 · 0 评论 -
Gerapy分布式爬虫管理框架
一,介绍Gerapy 是一款分布式爬虫管理框架,支持 Python 3,基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 开发。二,gerapy的初始化配置:安装gerapy框架。(注意要先用命令进入虚拟环境) 命令:pip insta...原创 2018-07-18 19:41:12 · 845 阅读 · 0 评论 -
scrapyd部署(远程管理爬虫项目)
1. 需要安装scrapyd=1.2.0 scrapyd-client=1.2.0a1首先进入虚拟环境 2. 启动scrapyd服务3. 配置爬虫项目: 4.开始向scrapyd中部署 查看当前可用于部署到scrapyd 服务中的爬虫有哪些参数1:[deploy:jobbole]参数2:scrapy.cfg文件中的url 命令scr...原创 2018-07-18 14:56:23 · 707 阅读 · 0 评论 -
url去重方案
url去重方案:1. 通过数据库进行url的去重,获取一条数据的时候,将url也保存到数据库中,在获取其他url的时候,先从数据库中查询是否存在这个url,如果存在就丢弃,反之就保存。效率太低。2. 通过set(),在内存中符url进行去重。 对内存的占用太高。eg:100000000条url * 50字符 * 2bytes /1024(KB)/1024(MB)/1024(GB) ...原创 2018-07-18 14:19:16 · 1104 阅读 · 0 评论 -
安装MongDB与自启动
百度搜索mongodb,下载安装安装第2步,选择custom默认路径,然后一路下一步找到安装位置,打开文件夹创建data文件夹进入data,创建db文件夹打开cmd,复制文件夹路径敲命令:cd C:\Program Files\MongoDB\Server\3.6\bin进入bin文件夹敲命令:mongod --dbpath "C:\Program Files\MongoDB\Server\3.6...原创 2018-06-07 13:04:26 · 238 阅读 · 1 评论 -
下载安装charles并导入证书、使用
下载Charleshttps://www.charlesproxy.com/latest-release/download.do原创 2018-06-08 12:32:17 · 41929 阅读 · 3 评论 -
redis内存与运行内存的区别
redis内存是内存型数据库,既支持将数据存储到内存(运行内存),也可以将数据进行持久化的本地存储。原创 2018-06-11 11:52:39 · 4863 阅读 · 0 评论 -
pyspider框架
首先安装环境:在pycharm中Terminal(或者cmdzhong)输入命令:pip install pyspider如果提醒安装失败,则找到是哪一步失败然后在浏览器上打开:原创 2018-06-14 18:06:54 · 467 阅读 · 0 评论 -
scrapy 设置代理ip和cookies(微博)
pipelines.py代码from fake_useragent import UserAgentimport requestsclass UserAgentMiddlewares(object): """ 自定义一个UserAgent的下载中间件。 """ def __init__(self, user_agent_type): self...原创 2018-07-09 21:38:59 · 1638 阅读 · 0 评论 -
scrapy数据库异步写入
项目名为jobbole, spiders中的代码块文件名为bole.py爬取网站为伯乐在线的最新文章pipelines.py代码# 数据库pymysql的commit()和execute()在提交数据时,都是同步提交至数据库,由于scrapy框架数据的解析是异步多线程的,所以scrapy的数据解析速度,要远高于数据的写入数据库的速度。如果数据写入过慢,会造成数据库写入的阻塞,影响数据...原创 2018-07-09 21:30:07 · 1405 阅读 · 1 评论 -
分布式爬虫配置(伯乐在线为例)
依赖环境:redis >=2.8scrapy >=1.1分布式爬虫:将一个项目拷贝到多台电脑上,同时爬取数据。1.必须保证所有电脑上的代码是相同的配置。2.在其中一台电脑上启动redis和MySQL的数据库服务。3.同时将所有的爬虫项目运行起来。4.在启动redis和MySQL的电脑上, 向redis中添加起始的url。q = queue()url = q.get...原创 2018-07-17 22:09:02 · 3736 阅读 · 1 评论 -
itemloader保存数据(伯乐在线为例)
代码如下:主要结构:# -*- coding: utf-8 -*-import scrapyfrom ..items import JobboleItemfrom urllib.parse import urljoinfrom scrapy.loader import ItemLoaderclass BoleSpider(scrapy.Spider): name...原创 2018-07-17 22:20:38 · 569 阅读 · 0 评论 -
scrapy爬虫和Django后台结合(爬取kw音乐)
代码结构: Spider/spider/kuwo.py爬虫代码:# -*- coding: utf-8 -*-import scrapyimport demjsonimport reimport osfrom ..items import MusicItem, SingerItemfrom bloomfilter import Bloomfilter #布隆过...原创 2018-07-28 15:27:35 · 8029 阅读 · 3 评论