ruby开发中遇到的问题

任务名称:基于rails开发后台程序,同时开发与微信公众平台交互模块,抓取友站数据,存储到mysql数据库中

参考文章http://guides.ruby-china.org/


第一步、布置环境(ubuntu14.04)

安装ubuntu12.04后升级到14.04后出现网络无法链接的问题

sudo client -r
sudo client

输入以上两句命令后解决问题


sudo apt-get install zlib1g zlib1g-dev build-essential
sudo apt-get install curl git
bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
rvm -v
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )

安装rvm的时候遇到了问题,使用rvm 固定版本加ruby  具体命令装系统时遗失,是一个直接安装rvm和ruby的命令

rvm install

gem install rails

然后查看版本号:ruby -v 、rails -v、rvm -v

mysql是配置php环境时搭好的,安装mysql即可

 

第二步,建立服务器基础程序

使用mysql故变更若干配置

建立新项目目录:rails new mysite

使用scaffold快速建立

rails g scaffold aaa name:string remarks:text other:string

在Gemfile中修改 gem 'sqlite'改为gem 'mysql2'

进入项目目录,然后gem install msyql2 或者bundle install

修改config/database.yml文件

default: &default
  encoding: utf8
  adapter: mysql2
  username: root
  password: 
  pool: 5
  timeout: 5000

修改下面的数据库名称


也可以直接用--mysql命令,直接使用mysql数据库

rails new mysite -d mysql

默认使用debugger gem,后来查证此gem在ruby2.0以上已经被弃用,修改为byebug

完成以上步骤后服务器已创建建立数据库和建立表格语句,使用rake命令

创建数据库
rake db:create 
创建表
bin/rake db:migrate RAILS_ENV=development

完成


第三步,配置mysql,写抓取程序

mysql是配置php环境时搭好的,不过抓取时用到

require "mysql"  
SQLHelper = Mysql.real_connect("localhost","root","aaa","aaa",3306);  

发现是安装不上 libmysql-ruby包出错,在一下网址找到这个deb包,直接安装,问题接决

http://lug.mtu.edu/ubuntu/pool/universe/r/ruby-mysql/libmysql-ruby_2.8.2+gem2deb-1build1_all.deb


首先安装nokogiri,然后按照页面规则和cssPath来写

写正则匹配的时候 用到的一个在线匹配网址:http://www.rubular.com/

部分代码:

require 'nokogiri'
require 'open-uri'
require "mysql"  

html=open("http://aaa.com").read 
doc = Nokogiri::HTML.parse html

urls =doc.scan(/href="(.*)html/)

for url in urls do

......

end

数据库插入时防止乱码,需设置:SQLHelper.query("SET NAMES utf8")


第四步、与开放平台交互

SQL准备:


交互开发:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值