直接上代码 #!/usr/bin/env python # -*- encoding: utf-8 -*- # Created on 2017-10-27 09:56:50 # Project: redis_test from pyspider.libs.base_handler import * import redis class Handler(BaseHandler): crawl_config = { } @every(minutes=24 * 60) def on_start(sel…
做一个简单的测试,看数据能否存入mysql 1 #!/usr/bin/env python 2 # -*- encoding: utf-8 -*- 3 # Created on 2017-10-26 16:03:21 4 # Project: mysql_test 5 6 from pyspider.libs.base_handler import * 7 import MySQLdb 8 9 class Handler(BaseHandler): 10 crawl_config = { 11…
写一个简单案例测试能否将数据写入es #!/usr/bin/env python # -*- encoding: utf-8 -*- # Created on 2017-10-27 08:35:57 # Project: es_test from pyspider.libs.base_handler import * from elasticsearch import Elasticsearch class Handler(BaseHandler): crawl_config = { } def…
首先安装pyredis的驱动 wget https://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz 解压并cd python setup.py install…
跟使用mysql一样,不安装es驱动的话,也会触发模块找不到的错误 ImportError: No module named elasticsearch 通过pip安装 pip install elasticsearch…
1. Scrapy框架 Scrapy是python下实现爬虫功能的框架,能够将数据解析.数据处理.数据存储合为一体功能的爬虫框架. 2. Scrapy安装 1. 安装依赖包 yum install gcc libffi-devel python-devel openssl-devel -y yum install libxslt-devel -y 2. 安装scrapy pip install scrapypip install twisted==13.1.0 注意事项:scrapy和twist…
接上篇,刚装好的pyspider,我们打算大显身手,抓一批数据到mysql中. 然而,出师未捷,提示我们:ImportError: No module named MySQLdb 这是因为还没有安装MySQL-python驱动,它是python 操作mysql必不可少的模块. 好了,开始下载 1.下载mysql-python驱动 wget https://pypi.python.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a…
于js渲染网页时爬取数据的思路 首先可以先去用requests库访问url来测试一下能不能拿到数据,如果能拿到那么就是一个普通的网页,如果出现403类的错误代码可以在requests.get()方法里加上headers. 如果还是没有一个你想要的结果,打印出来 的只是一个框架,那么就可以排除这方面了.就只可能是ajax或者是javascript来渲染的. 就可以按照下图去看一下里面有没有 本次先重点去讲一下关于js来渲染网页的数据爬取,这下面的数据是随机找的,只要是里面想要爬取的数据就行 了.…
说明:初学者,整理后方便能及时完善,冗余之处请多提建议,感谢!   了解内容: Scrapy :抓取数据的爬虫框架     异步与非阻塞的区别   异步:指的是整个过程,中间如果是非阻塞的,那就是异步过程: 非阻塞:关注拿到结果之前的状态 (如果拿到结果前在等待,是阻塞,反之,是非阻塞)     理解: Scrapy 基本工作流程(简单--->复杂)                                                            每个模块间不通讯,模块之间通…
redis数据库属于非关系型数据库,数据存放在内存堆栈中,效率比较高. 其存储数据是以json格式字符串存储字典的,而类似的关系型数据库无法实现这种数据的存储. 在爬取数据时,将数据暂存到redis中,等数据采集完成后,在从redis里将数据读取,并写入mysql数据库中. 在数据采集方面不在多说,只需将项目settings文件下的pipelines管道文件里的本地数据管道注释,让redis来接收数据即可. 从redis写数据入mysql的代码实现: 其实就是一个独立的python脚本文件  …