前言:今天算是见到Scrapy的第二天,之前只是偶尔查了查,对于这个框架的各种解释,我-----都-----看------不------懂----,没办法,见面就是刚。

  目的:如题,试水

  目标:《伯乐在线》python版(不要问我怎么老是惹伯乐,好欺负)的“实践项目”的一页的文章标题和简介,导入Mysql数据库。

  配置:win7+python3.4+Scrapy1.4+phpStudy(主要用它的mysql数据库)

  完成时间:2017-7-27(历时2天)

  作者:羽凡

-------------------------------------------------------------------无敌的-------------------------------------------------------------------------------------------------------------------------

正文:

scrapy的安装我就不说了,有事没事问度娘。。。。

第一步:创建项目,命令:scrapy startproject bole

成功的话就生成了这些

今天除了第三和第五个没用到,其他都有修改。

看看咋们的目标状态:

我要的是“图解机器学习。。。。”和“开发人员经常说。。。。”这两项(先简单点)

第二步:修改items.py文件

用过django的可能觉得熟悉这个东西,这就像个中转或是暂时仓库,你从网页上找到想要的东西总得放个地方吧,这里就为它们开辟了空间,这个空间在爬虫主体(spider文件夹里)会被引用(from ..items import BoleItem),空间开辟好了,items.py就改好了。

第三步:创建爬虫主体。命令:scrapy genspider -t basic Bole jobbole.com

关于命令中的有些参数我也不太清楚,genspider-生成爬虫   -t :不知道   basic:不知道  Bole:爬虫名字  jobbole.com:目标域名

该命令在spider文件夹下生成Bole.py

经过修改后的样子

这里start_urls是第一页的网址。下面的parse函数是对返回结果的处理,我们需要的数据也是在这里产生的,这里用到了xpath来搜索数据,功能与re正则差不多,还可以看到在items.py中开辟的空间在这里用到了。(假如把return item  换成  print(item[‘title’])就可以看到抓到的标题了)

加餐第四步:数据导入mysql数据库(修改setting.py和pipelines.py文件)

先是pipelines.py:

被我注释掉的是链接数据库并创建相应的库/表/项。如果你是手工用SQL来创建好的,就注释掉吧,要不然还要修改下,这里将中转的东西通过SQL指令导入数据库里了

接下来修改setting.py使上面的修改管用:

找到这行,并解除注释,就像开了水龙头。。。。

开启Mysql,运行爬虫:

--nolog是为了不打印一串日志记录,如果排查错误就不加。

以上是结果。

-----------------------------------------------------------------------无敌的我-----------------------------------------------------------------------------------------------------------------------------------

是不是写的很水,我自己都尴尬了,没办法,才真正自学两天,明天,哦不,今天在理理思路,期待第二回早点写来。

                困了,睡觉。                                                        By:羽凡  2017-7-28-0:33

 

第一回:Scrapy的试水的更多相关文章

  1. UITableView(自定义cell)试水心得

    初次试水自定义cell的UITableView 实现目标      最终实现结果   界面复原度:98% 未能完全复刻的地方:下半部分的tableview与头部的控件间距上的误差 原因:在做table ...

  2. CSharpGL(49)试水OpenGL软实现

    CSharpGL(49)试水OpenGL软实现 CSharpGL迎来了第49篇.本篇内容是用C#编写一个OpenGL的软实现.暂且将其命名为SoftGL. 目前已经实现了由Vertex Shader和 ...

  3. phaser2->3:来个打地鼠试水

    本文中phaser具体版本 phaser2:2.8.1 phaser3:3.17.0 一.实现效果二.实现细节三.项目总结四.参考文档 一.实现效果 源码地址(phaser2&phaser3) ...

  4. 想写个小说,关于C#的,名字就叫《原Csharp》吧 (第一回 买书未成炁自生 惶惶回屋遇老翁)

    以前也有写过一些小说,但是总是写写停停的,因为忙于项目和其他事情,总是耽搁很久(真的是很久)才会继续动两笔,所以我想先在这里以随笔的方式写个关于C#异世界的小故事吧,更新随缘,也稍微能让自己轻松些. ...

  5. POJ 2502 - Subway Dijkstra堆优化试水

    做这道题的动机就是想练习一下堆的应用,顺便补一下好久没看的图论算法. Dijkstra算法概述 //从0出发的单源最短路 dis[][] = {INF} ReadMap(dis); for i = 0 ...

  6. Volley使用指南第一回(来自developer.android)

    最近闲来想看看android网络方面的东西.google在2013年发布了一个叫做Volley的网络请求框架,我看了一下官网,居然在training里面就有教程.首先,英文的东西看着 还是挺不爽的,特 ...

  7. 大众点评试水O2O新模式:实体店试穿,扫描二维码付款 现场取货

    在餐饮美食行业取得不错的成绩之后,大众点评将触角延伸到了线下的传统商铺,开始涉足线下商品的 O2O 团购.和传统的线上下单,线下消费的 O2O 模式不同.大众点评的 O2O 团购用户,可在店内试穿后通 ...

  8. Json.Net6.0入门学习试水篇

    原文:Json.Net6.0入门学习试水篇 前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中 ...

  9. Django 1.10中文文档-第一个应用Part5-测试

    本教程上接教程Part4. 前面已经建立一个网页投票应用,现在将为它创建一些自动化测试. 自动化测试简介 什么是自动化测试 测试是检查你的代码是否正常运行的行为.测试也分为不同的级别.有些测试可能是用 ...

随机推荐

  1. php练习 租房子

    题目要求 1.封装类 <?php class DBDA { public $fuwuqi="localhost"; //服务器地址 public $yonghuming=&q ...

  2. Bash中的数学扩展

    Bash只支持整数运算,不支持浮点运算.如果需要进行浮点运算,需要使用bc程序.Bash中的数学扩展有两种形式:$[ expression ]或$(( expression )) 例子:$echo $ ...

  3. /dev/shm 与 tmpfs

    1./dev/shm 与 tmpfs /dev/shm/是linux下一个目录,/dev/shm目录不在磁盘上,而是在内存里, 类型为 tmpfs ,因此使用linux /dev/shm/ 的效率非常 ...

  4. docker在windows,centos中的安装

    centos安装方式,采用阿里云的镜像和安装脚本 或者到https://store.docker.com/search?type=edition&offering=community下载相应系 ...

  5. 关于tween.js 封装的方法

    今天做的是匀速情况下div的运动.首先开始之前先了解运动的原理 A------------>>BA移动到B 这段距离是总距离 用一个变量保存下来:var dA移动到B 移动的总次数  用一 ...

  6. SSH连接不上CentOS 主机配置文件导致的原因的解决方法

    一.CentOS之SSH的安装与配置 SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定SSH 为建立在应用层和传输层基础上 ...

  7. java wait 和notify

    这几天自己学习了一下线程的知识,wait 方法使当前的线程等待,notify 方法 唤醒当前的线程的方法 th 线程在5的时候进行wait,此时主线程继续执行, 主线程执行到9的时候 唤醒 th 线程 ...

  8. WebService小记

    这个问题找了好多地方都没有结果,自己暂且总结一下吧,也不算是解决问题的根本途径,但是也不失为一种办法.当时用了wsimport  wsdl2java xfire 都没有解决,大牛能解决的话,欢迎留言. ...

  9. 如何退出 Vim

    点击 Esc 键,; Vim 进入命令模式.然后输入: :q  退出(这是 :quit 的缩写) :q! 不保存退出(这是  :quit! 的缩写) :wq 写入文件并退出:(这是 :writequi ...

  10. JAVA类型擦除

    Java泛型-类型擦除 一.概述 Java泛型在使用过程有诸多的问题,如不存在List<String>.class, List<Integer>不能赋值给List<Num ...