ruby+nokogori抓取糗事百科前10页并存储进数据库示例
ruby,nokogori,爬取糗事百科最新的10页加图片比并同时保存进文本跟数据库
#encoding:utf-8
require "open-uri"
require "nokogiri"
require "mysql"
@dbh=mysql.real_connect("localhost","root","dengli","pachong")
@file=open("qb.txt","w")
def getqiubai(url)
data=open(url){|f| f.read}
doc=nokogiri::html(data)
doc.css('div.block.untagged.mb15.bs2').each{|p|
content=p.css('div.content').text
@file.puts("#{content}\n")
img=p.css('div.thumb img').each{|img|
imgaddr=img.attr('src')
@file.puts("#{imgaddr}\n")
time=time.now
sql="insert into qiushibaike (`body`,`img`,`time`) values ('#{content}','#{imgaddr}','#{time}')"
@dbh.query(sql)
}
}
end
for i in 1..10
@file.puts("这是第#{i}页")
url="http://www.qiushibaike.com/8hr/page/#{i}"
getqiubai(url)
end
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
循序渐进掌握递归正则表达式
一般来说,递归的正则表达式用来匹配任意嵌套层次的结构或左右对称的结构。例如匹配: 递归正则在正则表达式里算是比较灵活的部分,换句话说就是可能会比较难...
[阅读全文]
-
scrapy 使用
启动方式: 写一个启动文件,与配置文件同级 from scrapy.cmdline import execute import sys,os sys...
[阅读全文]
-
-
-
经典例题
例题: 1.用户输入账号 2.用户输入密码 3.判断用户的账号是不是alex 4.如果账号是alex在继续判断密码是不是alexdsb 5.账号和密...
[阅读全文]
-
-
-
-
-
网友评论