1.scrapy爬取的数据保存到es中】的更多相关文章

先建立es的mapping,也就是建立在es中建立一个空的Index,代码如下:执行后就会在es建lagou 这个index.     from datetime import datetime from elasticsearch_dsl import DocType, Date, Nested, Boolean, \ analyzer, InnerDoc, Completion, Keyword, Text, Integer from elasticsearch_dsl.connection…
为了把数据保存到mysql费了很多周折,早上再来折腾,终于折腾好了 安装数据库 1.pip install pymysql(根据版本来装) 2.创建数据 打开终端 键入mysql -u root -p  回车输入密码 create database scrapy (我新建的数据库名称为scrapy) 3.创建表 use scrapy; create table xiaohua (name varchar(200) ,url varchar(100)); 数据库部分就酱紫啦 4.编写pipelin…
pipelines.py文件中 import codecs import csv # 保存到CSV文件中 class CsvPipeline(object): def __init__(self): self.file = codecs.open('a.csv', 'w', encoding='utf_8_sig') def process_item(self, item, spider): fieldnames = ['title', 'img_url', 'download_http'] w…
import requests from bs4 import BeautifulSoup import pymongo from multiprocessing.dummy import Pool as ThreadPool headers = {'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobi…
使用情况说明: 已经使用logstash拉取MySQL数据存储到es中,es中也创建了相应的索引,也存储了数据.假若把这个索引给删除了,再次进行同步操作的话要咋做,从最开始的数据进行同步,而不是新增的数据 官方文档地址:https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html#plugins-inputs-jdbc-tracking_column 官方原话: The plugin will persist…
前言 一般我们都会将数据爬取下来保存在临时文件或者控制台直接输出,但对于超大规模数据的快速读写,高并发场景的访问,用数据库管理无疑是不二之选.首先简单描述一下MySQL和MongoDB的区别:MySQL与MongoDB都是开源的常用数据库,MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点.我们所熟知的那些SQL语句就不适用于MongoDB了,因为SQL语句是关系型数据库的标准语言. 一.关系型数据库 关系模型就是指二维…
使用HtmlAgilityPack 基础请参考这篇博客:https://www.cnblogs.com/fishyues/p/10232822.html 下面是根据抓取的页面string 来解析并保存到datatable中: //HtmlString 获取的html页面的字符串 //XmlPath 解析元素在html中的位置,像:XmlPath = "/html/body/div[3]/div[3]/div[1]/table" public static DataTable Parsi…
1.获取DataTable /// <summary> /// 查询Excel文件中的数据 /// </summary> /// <param name="strPath">文件路径</param> /// <param name="sheetName">工作表名</param> /// <returns>DataTable</returns> public DataTa…
maven使用: <!--redis jar包--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>org.springframework.data…
# -*- conding:utf-8 -*- # 1.两页的内容 # 2.抓取每页title和URL # 3.根据title创建文件,发送URL请求,提取数据 import requests from lxml import etree import time, random, xlwt # 专家委员会成员的xpath(‘//tbody//tr[@height='29']’) class Doc_spider(object): def __init__(self): self.base_url…
利用item pipeline可以实现将数据存入数据库的操作,可以创建一个关于数据库的item pipeline 需要在类属性中定义两个常量 DB_URL:数据库的URL地址 DB_NAME:数据库的名字 在Spider爬取的整个过程中,数据库的连接和关闭操作只需要进行一次就可以,应该在开始处理之前就要连接数据库,并在处理完所有数据之后就关闭数据库.所以需要在open_spider和close_spider中定义数据库的连接和关闭操作 在process_item中实现MongoDB的写入操作,使…
本节内容 在访问网站的时候,我们经常遇到有些页面必须用户登录才能访问.这个时候我们之前写的傻傻的爬虫就被ban在门外了.所以本节,我们给爬虫配置cookie,使得爬虫能保持用户已登录的状态,达到获得那些需登录才能访问的页面的目的. 由于本节只是单纯的想保持一下登陆状态,所以就不写复杂的获取页面了,还是像本教程的第一部分一样,下载个网站主页验证一下就ok了.本节github戳此处. 原理 一般情况下,网站通过存放在客户端的一个被称作cookie的小文件来存放用户的登陆信息.在浏览器访问网站的时候,…
看了scrapy,打算构建自己的天气数据,目标源:就是你了,中国天气网! 仔细点两下这个网站,发现可以由各个省.直辖市到省市所属的地级市,再到各县,页面在这: 点开就可以看到中国所有的省.直辖市,但港澳台的天气数据没有,所以就把这三个地区过滤掉. 接下来,就是一步步的解析,基本上没什么好讲的,最后把结果存入mongodb.项目地址: WeatherCrawler…
#coding:utf-8import csv headers = ['ID','UserName','Password','Age','Country'] rows = [(1001,'qiye','qiye_pass',24,'China'), (1002,'Mary','Mary_pass',20,"USA"), (1003,"Jack","Jack_pass",20,"USA") ] with open('qiye.c…
MongoDB是一款由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储方式类似于JSON对象,它的字段值可以是其它文档或数组,但其数据类型只能是String文本型. 在使用之前我们要确保已经安装好了MongoDB并启动了该服务.此处主要用于Python数据的保存,我们要安装Python的PyMongo库,运行 ‘pip install pymongo’ 命令完成pymongo的安装.进入python工作模式,可以通过pymongo.version 查看pymo…
本文目的是使用scrapy爬取京东上所有的手机数据,并将数据保存到MongoDB中. 一.项目介绍 主要目标 1.使用scrapy爬取京东上所有的手机数据 2.将爬取的数据存储到MongoDB 环境 win7.python2.pycharm 技术 1.数据采集:scrapy 2.数据存储:MongoDB 难点分析 和其他的电商网站相比,京东的搜索类爬取主要有以下几个难点: 1.搜索一个商品时,一开始显示的商品数量为30个,当下拉这一页 时,又会出现30个商品,这就是60个商品了,前30个可以直接…
前文介绍了python的scrapy爬虫框架和登录知乎的方法. 这里介绍如何爬取知乎的问题信息,并保存到mysql数据库中. 首先,看一下我要爬取哪些内容: 如下图所示,我要爬取一个问题的6个信息: 问题的id(question_id) 标题(title) 问题描述(intro) 回答个数(answer_num) 关注人数(attention_uv) 浏览次数(read_pv)  爬取结果我保存到mysql数据库中,表名为:zhihu_question 如下图中,红框里的就是上图是有人为我的穿…
软件环境: gevent (1.2.2) greenlet (0.4.12) lxml (4.1.1) pymongo (3.6.0) pyOpenSSL (17.5.0) requests (2.18.4) Scrapy (1.5.0) SQLAlchemy (1.2.0) Twisted (17.9.0) wheel (0.30.0) 1.创建爬虫项目 2创建京东网站爬虫. 进入爬虫项目目录,执行命令: scrapy genspider jd www.jd.com 会在spiders目录下会…
写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向.相对湿度.空气质量等成为关注的焦点.本次使用python中requests和BeautifulSoup库对中国天气网当天和未来14天的数据进行爬取,保存为csv文件,之后用matplotlib.numpy.pandas对数据进行可视化处理和分析,得到温湿度度变化曲线.空气质量图.风向雷达图等结果,为获得未来…
本博文使用的数据库是MySQL和MongoDB数据库.安装MySQL可以参照我的这篇博文:https://www.cnblogs.com/tszr/p/12112777.html 其中操作Mysql使用到的python模块是pymysql,下面是有关这个模块的使用说明: 创建一个数据库test create DATABASE taobao; 下面将要安装一个navicat for mysql这样的软件,下载链接:https://www.pcsoft.com.cn/soft/20832.html?…
1.下载MongoDB 官网下载:https://www.mongodb.com/download-center#community 上面这张图选择第二个按钮 上面这张图直接Next 把bin路径添加到path中,如下图: 在安装路径下自己创建一个文件mongo.conf,配置内容如下: #数据库路径dbpath=E:\mongodb\data#日志输出文件路径logpath=E:\mongodb\log\mongo.log#错误日志采用追加模式logappend=true#启用日志文件,默认启…
除将爬取到的信息写入文件中之外,程序也可通过修改 Pipeline 文件将数据保存到数据库中.为了使用数据库来保存爬取到的信息,在 MySQL 的 python 数据库中执行如下 SQL 语句来创建 job_inf 数据表: CREATE TABLE job inf ( id INT (11) NOT NULL AUTO_INCREMENT PRIMARY KEY, title VARCHAR (255), salary VARCHAR (255), company VARCHAR (255),…
出发点 想做一个地图热力图,发现安居客房产数据有我要的特性.emmm,那就尝试一次好了~ 老规矩,从爬虫,从拿到数据开始... scrapy的配置 创建一个项目(在命令行下敲~): scrapy startproject anjuke 这命令会建一个叫anjuke的文件夹,里面会有一些待你配置的文件 创建一个spider: 先进入创建的项目文件夹里 cd anjukescrapy genspider anju qd.anjuke.com 这命令会建一个叫anju.py的文件,它就是刚刚创建的sp…
今日内容概要 scrapy架构和目录介绍 scrapy解析数据 setting中相关配置 全站爬取cnblgos文章 存储数据 爬虫中间件和下载中间件 加代理,加header,集成selenium 内容详细 1.scrapy架构和目录介绍 # pip3 install scrapy # 创建项目:scrapy startproject cnblogs_spider 等同于django创建项目 # 创建爬虫:scrapy genspider cnblogs www.cnblogs.com 等同于创…
首先所需要的环境:(我用的是Python2的,可以选择python3,具体遇到的问题自行解决,目前我这边几百万的数据量爬取) 环境: Python 2.7.10 Scrapy Scrapy 1.5.0 第三方库: PyMySQL==0.8.0Scrapy==1.5.0pytesseract==0.2.0pip==10.0.1Pillow==5.1.0logger==1.4bs4==0.0.1requests==2.18.4 创建项目 scrapy startproject mytest创建爬虫程…
Scrapy爬取到中文数据默认是 Unicode编码的,于是显示是这样的: "country": ["\u56fd\u4ea7\u6c7d\u8f66\u6807\u5fd7"] "carname": ["\u65af\u67ef\u8fbe", "\u67ef\u5c3c\u585e\u683c", "\u6c83\u5c14\u6c83"] 解决方法其实很简单,只需在settings…
接上篇:安居客scrapy房产信息爬取到数据可视化(下)-可视化代码,可视化的实现~ 先看看保存的数据吧~ 本人之前都是习惯把爬到的数据保存到本地json文件, 这次保存到数据库后发现使用mongodb的聚合统计省去了好多自己用python写计算逻辑的步骤,好方便啊~~ 第一张图柱状图 第一张图代码解析: #encoding:utf-8 import random from pyecharts import Bar from pymongo import MongoClient conn = M…
在配置文件中修改相关参数: 增加并发 默认的scrapy开启的并发线程为32个,可以适当的进行增加,再配置文件中修改CONCURRENT_REQUESTS = 100值为100,并发设置成了为100. 降低日志等级 在scrapy运行的时候,会输出大量的日志信息,为了减少cpu的使用率,可以设置log输出信息为INFO或者ERROR.在配置文件中编写LOG_LEVEL = 'INFO' 禁止cookie 如果不是真的需要cookie,则在scrapy爬取数据的时候可以 禁止cookie从而减少C…
# scrapy爬取酒店评论数据 -- 代码 here:github地址:https://github.com/760730895/scrapy_Booking--  采用scrapy爬取酒店评论数据. 总共有28W条记录. 做某NLP任务,需要一些hotel reviews, 选择从`www.booking.com`搞一点数据来.根据主页显示总共有20个城市from diferrent countries,每个城市下有若干个酒店,每个酒店下若干条评论. #  〇.数据源介绍 数据源:`www.…
测试环境: win10,单机爬取,scrapy1.5.0,python3.6.4,mongodb,Robo 3T 其他准备: 代理池:测试环境就没有用搭建的flask抓代理,因为我找到的几个免费网站有效ip不够多,因此从xxx网站批量获取了800多个免费https代理,然后开线程池测试访问58同城网站,将有效ip保存到json文本中,在scrapy代码加proxy中间件,每次从json中random一个代理; 请求头:网上搜集各种网站的User-Agent,在scrapy中加UserAgent中…