cheerio爬取网页数据,存储到MySQL数据库
来源:互联网 发布:mac 磁盘恢复 编辑:程序博客网 时间:2024/06/06 03:17
最近在做物流项目成本分析,需要爬取柴油价格数据,使用到了cheerio,cheerio实现了jQuery核心的一个子集。以下为爬取代码。
//getHtml.js,获取HTML页面数据var http = require("http");function gethtml(url,callback){ http.get(url,function(res){ var data = ""; res.on('data',function(chunk){ data += chunk; }); res.on('end',function(){ callback(data); }); }).on("error",function(){ callback(null); })}exports.gethtml = gethtml;
//getData.js,使用cheerio获取数据并存储到mysql数据库const cheerio = require('cheerio');const server = require('./getHtml');var url = 'http://ny.gold600.com/';server.gethtml(url,function(data){ if(data){ var $ = cheerio.load(data); var data = []; var list = $('.oilTable tbody tr:nth-child(odd)'); list.each(function(index,element){ let city = $(element).find('a').text().replace(/\s/g,''); // 获取标题 let price = $($(element).find('td')[4]).text().replace(/\s/g,''); // 获取价格 let time = $($(element).find('td')[5]).text().replace(/\s/g,''); // 获取价格 data.push({city,price,time}) // console.log(price) // console.log(element.children('td')[0].innerTEXT); }) var str = ''; data.forEach(function(item,index){ if(index == 0){ str += 'VALUES("'+item.city+'",'+item.price+',"'+item.time+'")'; }else{ str += ',("'+item.city+'",'+item.price+',"'+item.time+'")'; } }) console.log(str) var connection = mysql.createConnection({ host:'127.0.0.1', user:'root', password:'******', database:'price' }); console.log(str) connection.connect(); connection.query('DELETE FROM priceList'); connection.query('ALTER TABLE priceList AUTO_INCREMENT=1'); connection.query('INSERT priceList(city,price,time) '+str,function(error,results,fields){ if(error) throw error; console.log('The solution is:',results); let a = results[1]; console.log(a) }) connection.end(); console.log(value); // Success! }else{ console.log("error"); }})
需要注意的是使用$(selector).find(selector)查找到的元素需要使用再次使用$()进行包裹才能使用cheerio提供方法,如:text()。
阅读全文
1 0
- cheerio爬取网页数据,存储到MySQL数据库
- Python爬取网页信息并且存储到MySQL数据库
- python 网页爬取数据并存到数据库中
- java web从网页表单输入数据存储到MySQL数据库
- Python3爬取网页数据存入MySQL
- 使用node.js cheerio抓取网页数据
- 使用node.js cheerio抓取网页数据
- 使用node.js cheerio抓取网页数据
- python爬取数据练习(二)---lxml数据爬取后存储在数据库mysql中
- python,scrapy爬虫sql之爬取数据存储到mysql的piplelines.py配置
- 网页数据存储mysql数据库过程问题及解决
- Scrapy爬取网页并保存到数据库中
- mysql存储过程从表取数据存储到游标然后批量修改
- scrapy爬取豆瓣电影top250并存储到mysql
- Kaggle数据条目爬取存储到mongodb
- java mysql数据库取数据
- 解决存储数据到mysql数据库中文乱码的问题
- Node.js使用cheerio抓取网页数据DEMO
- Can't use method return value in write context
- 阿里巴巴与星巴克合作 AR场景识别首次大规模商用
- 【Struts2】7.异步提交响应xml和json
- MAC 安装 xctool 遇到的问题
- hibernate无法自动建表的原因
- cheerio爬取网页数据,存储到MySQL数据库
- 用Vue开发小程序的框架
- 欢迎使用CSDN-markdown编辑器
- jq实现一些注册页面的按钮点击和不可点击
- Python中的特殊方法、属性和迭代器
- PHP实现简单对称加密
- 高数 07.02 偏导数
- 阿里内部创新自动化测试工具开放啦
- 软件调试笔记43