PySpider

Begin

安装pip install pyspider


在windows系统好像会出现如下问题

Command "python setup.py egg_info" failed with error code 10 in



解决方法:

利用wheel安装

S1: pip install wheel

S2: 进入www.lfd.uci.edu/~gohlke/pythonlibs/,Ctrl + F查找pycurl




S3:

这个包名是pycurl-版本-你下载的python版本(如python3.4,就是cp34)-win32/64操作系统),选择你所需要的进行下载

S4: 安装编译包,命令行输入 pip install 你下载的whl文件的位置如(d:\pycurl-7.43.1-cp34-cp34m-win_amd64.whl)

S5: 继续pip install pyspider



####Use

命令行输入pyspider all,启动pyspider(启动的时候可能一直卡在result_worker starting, 这个时候先等等, 然后再Ctrl + C关闭, 再次 pyspider all)

接着进入网站localhost:5000,出现如下页面

接着点击Create,输入项目名和你所要爬的网站

进入项目后左边是视图区,可以看很多东西;右边是代码编辑区

接着讲讲代码使用

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# Created on 2018-01-13 10:23:04
# Project: test from pyspider.libs.base_handler import * class Handler(BaseHandler):
crawl_config = {
} @every(minutes=24 * 60)
def on_start(self):
self.crawl('https://scrapy.org/', callback=self.index_page)#这句代码的意思是爬取'https://scrapy.org/',进入之后回调,触发self.index_page函数,这个时候response就是获取到的页面 @config(age=10 * 24 * 60 * 60)
def index_page(self, response):
for each in response.doc('a[href^="http"]').items():#这里的response.doc语法使用的是jQuery的语法,获取属性href前缀为http的a标签(这里使用的CSS选择器语法)
self.crawl(each.attr.href, callback=self.detail_page)#接着爬取所有获取到的a标签链接,每访问一个,触发回调函数self.detail_page,这个时候的response就是访问的当前网站的html页面 @config(priority=2)
def detail_page(self, response):
#这里返回一个对象
return {
"url": response.url,
"title": response.doc('title').text(),
}

相关资料:

https://segmentfault.com/a/1190000002477863 这里三篇教程都很好,可以以它为实例,

http://www.pyspider.cn/book/pyspider/pyspider-Quickstart-2.html 当然还有必不可少的官方文档!

PySpider安装与使用(Windows系统下)的更多相关文章

  1. Memcached 笔记与总结(3)安装 php-memcache(windows 系统下)

    在 windows 下安装 php-memcache,需要下载编译好的 memcached.dll. 要找到可用的 dll 文件,需要根据 php.ini 中的 3 个参数来选择 dll 文件: ① ...

  2. MySQL安装与启动——Windows系统下

    以下书写结合菜鸟教程以及本人理解书写. 数据库下载(开源免费) MySQL数据库下载地址https://dev.mysql.com/downloads/mysql/ 可自由选择版本,一般选择Achiv ...

  3. 如何在Windows系统下使用you-get下载网上的媒体资源

    关于you-get的专业介绍可以点击这个链接:中文说明 1,首先你要在你的电脑上安装python环境 Windows系统下: 首先,你需要去官网下载相应的版本: 也可以下载我网盘里的(注意看好自己的电 ...

  4. windows系统下简单nodej.s环境配置 安装

    国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网 htt ...

  5. windows系统下安装MySQL

    可以运行在本地windows版本的MySQL数据库程 序自从3.21版以后已经可以从MySQL AB公司获得,而且 MYSQL每日的下载百分比非常大.这部分描述在windows上安装MySQL的过程. ...

  6. Windows系统下Nginx的安装与配置

    Nginx是lgor Sysoev在2004年的时候为俄罗斯访问量第二大的rambler.ru站点设计开发的,发布至今,凭借开源的力量,已经接近成熟与完善.其功能丰富,可作为HTTP服务器,也可作为反 ...

  7. Tomcat Windows 系统下安装及注意事项

    1 获取Tomcat 安装包  http://tomcat.apache.org/ tar.gz 文件是Linux系统下的安装版本 exe文件是 Windows系统下的安装版本 zip 文件是Wind ...

  8. windows系统下简单nodejs安装及环境配置

      相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置     相信 ...

  9. Windows系统下安装zabbix客户端

    简单介绍如何在windows系统下安装zabbix客户端 1. 首先下载和zabbix服务端大版本相同的windows客户端    例如我服务端安装的是zabbix-3.4.14.tar.gz     ...

随机推荐

  1. jQuery 1.4版本的15个新功能(现在已经发布到jquery1.8,特别是增强版的live事件,支持 submit , change , focus 和 blur 事件)

    1.jQuery()创建DOM元素:支持传参设置属性 之前,jQuery可以通过 attr 方法设置元素的属性,既可传属性的名和值,也可以是包含几组特定 属性名值对 的 对象.在 jQuery 1.4 ...

  2. CSS-实现倒影效果box-reflect

    我需要的效果: html: <img src="images/my1.jpg" width="20%"/> css:   img{-webkit-b ...

  3. 洛谷—— P1577 切绳子

    https://www.luogu.org/problemnew/show/P1577 题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的 绳子,这K条绳子每条最长能有多长? ...

  4. CDOJ 92 Journey LCA乱搞

    原题链接:http://acm.uestc.edu.cn/#/problem/show/92 题意: 给你一棵树,然后在树上连接一条边.现在有若干次询问,每次问你两个点(u,v)之间的距离在加那条边之 ...

  5. Netty-----初探

    今天看gateway 实现的时候看到个哥们基于的netty实现的gateway.so,解析一下Netty. 废话少说,maven pom 引入,down 下jar包.看了下netty的包结构,还是挺明 ...

  6. BZOJ 2085 [POI2010] Hamsters

    题面 Description Tz养了一群仓鼠,他们都有英文小写的名字,现在Tz想用一个字母序列来表示他们的名字,只要他们的名字是字母序列中的一个子串就算,出现多次可以重复计算.现在Tz想好了要出现多 ...

  7. 小W摆石子

    可以确定, 最后围成是 一个长方形 + 多出一列 的形状. 而且多出的那一列应该是和较短的边相邻. 贴代码. #include<iostream> #include<algorith ...

  8. ios 使用keychain具体方法

    Dictionary  写入: if ([self.currentUserAccount length] > 0) {                                Keycha ...

  9. Android 关于view的getLayoutParams().width,getWidth(),getMeasuredWidth();

    习惯了使用xml的布局方式,当动态布局的时候就有许多疑点,记录一下,帮助我这老头一样的记忆力. 网上也有许多解析这getLayoutParams().width,getWidth(),getMeasu ...

  10. 了解使用Android ConstraintLayout

    说明 Google I/O 2016 上发布了 ConstraintLayout, 简直是要变革 Android 写界面方式. 于是第二天我立即找到相关文档尝试, 这是官方提供的 Codelab 项目 ...