用js采集网页数据并插入数据库最快的方法
今天教大家一个快速采集网站数据的方法,因为太晚了,直接上例子,这里以采集易车网的产品数据为例。
思路:利用js获取网页数据并生成sql命令,执行sql命令把采集的数据插入数据库。
1.用谷歌浏览器或者火狐浏览器打开网站:http://car.bitauto.com/(品牌大全),http://car.bitauto.com/audi/(车型大全)
2.按F12进入调试模式,选择console并敲入以下代码
// JavaScript Document
(function() {
var hm = document.createElement("script");
hm.src = "http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
setTimeout(function(){
$.ajaxSettings.async = false;
//var data = [];
var sql = '';
$(".list_pic li").each(function(index, element) {
var brand ={url: $(this).find("a:eq(1)").attr('href'),name:$(this).find("a:eq(1)").text(),cars:[]};
sql += "INSERT INTO `dp_jgcrm_brand`(pid,title) VALUES('0', '"+$(this).find("a:eq(1)").text()+"');\r\n\
set @pid = LAST_INSERT_ID();\r\n";
$.get(brand.url,function(html){
$(html).find(".cartype-section .p-list .name a").each(function(index, element) {
sql += "INSERT INTO `dp_jgcrm_brand`(pid,title) VALUES(@pid, '"+$(this).text()+"');\r\n";
brand.cars.push($(this).text());
});
}); //data.push(brand);
});
//console.log(data);
console.log(sql)
},2000)

3.复制sql命令,剩下的你们都应该知道了吧
学程序的难点是思路和方法,语言只是工具,如果你愿意与我一同学习,可以加我的微信:fafa2088
for SE:汽车数据词典、汽车数据采集
用js采集网页数据并插入数据库最快的方法的更多相关文章
- API例子:用Python驱动Firefox采集网页数据
1,引言 本文讲解怎样用Python驱动Firefox浏览器写一个简易的网页数据采集器.开源Python即时网络爬虫项目将与Scrapy(基于twisted的异步网络框架)集成,所以本例将使用Scra ...
- 【hibernate spring data jpa】执行了save()方法 sql语句也执行了,但是数据并未插入数据库中
执行了save()方法 sql语句也执行了,但是数据并未插入数据库中 解决方法: 是因为执行了save()方法,也执行了sql语句,但是因为使用的是 @Transactional 注解,不是手动去提 ...
- SqlBulkCopy将DataTable中的数据批量插入数据库中
#region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 /// <summary> /// 注意:DataTable中的列需要与数据库表中的列完全一致.// ...
- 多线程查询数据,将结果存入到redis中,最后批量从redis中取数据批量插入数据库中【我】
多线程查询数据,将结果存入到redis中,最后批量从redis中取数据批量插入数据库中 package com.xxx.xx.reve.service; import java.util.ArrayL ...
- list转datatable,SqlBulkCopy将DataTable中的数据批量插入数据库
/// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list&q ...
- jsp+servlet上传excel并将数据导入到数据库表的实现方法
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 将Excel数据导入mysql数据库的几种方法
将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...
- sql-- 找到重复数据并删除、有重复数据不插入或更新的处理方法
表结构: 需求:找到相同的内容并删除 方法1: 通过分组找出筛选出count大于1的数据 group by可以利用聚合函数(count. sum. avg)进行分组 having 对分组的数据进行下一 ...
- ftp读取txt数据并插入数据库
去官网下载http://enterprisedt.com/ .netftp组件 目前最新版本为2.2.3,下载后在bin目录中找到edtFTPnet.dll,在项目中添加引用. using Enter ...
随机推荐
- 一、认识spring框架
对于spring框架,作为Java开发人员肯定不陌生,大名鼎鼎,名声在外,但是对于spring框架没有进行过系统的学习,从今天开始学习并且记录一下spring框架的比较牛逼的特性. 一.spring简 ...
- 零基础入门学习Python(23)--递归:这帮小兔崽子
知识点 我们都知道兔子繁殖能力是惊人的,如下图: 我们可以用数学函数来定义: 假设我们需要求出经历了20个月后,总共有多少对小兔崽子? 迭代实现 def fab(n): n1 = 1 n2 = 1 n ...
- ruby rspec安装
在rubymine里新建Rails application
- 第二十节:Scrapy爬虫框架之使用Pipeline存储
在上两节当中,我们爬取了360图片,但是我们需要将图片下载下来,这将如何下载和存储呢? 下边叙述一下三种情况:1.将图片下载后存储到MongoDB数据库:2.将图片下载后存储在MySQL数据库:3.将 ...
- span-wise drag/lift forces of cylinder
span-wise drag/lift forces of cylinder SR Description: Dear Sir/Madam, I am trying to simulate a 3 ...
- HDU 4968 (水dp 其他?)
+;],dp1[][],dp2[][]; map< memset(GPA,, ;i<=;i++) hash[i]=; ;i<=;i++) hash[i]=; ...
- POJ 1988相对偏移
//不容易啊,终于自己a了一道这种类型的题 // #include<stdio.h> #include<iostream> using namespace std; const ...
- Xcode4.5.1破解iOS免证书开发真机调试与ipa发布
开发环境使用Mac OSX Mountain Lion 10.8 + Xcode 4.5.1,iOS设备需要越狱并从Cydia安装AppSync.Xcode4.5.1的安装破解详细步骤如下: 第一步, ...
- codevs4437 YJQ Arranges Sequences
题目描述 Description 神犇YJQ有两个长度均为n的数列A和B,并且A是一个单调不增的数列.他认为这两个数列的优美度为.有一天YJQ很无聊,他把Bi进行重新排列,得到了许多不同的优美度.他想 ...
- 1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组
1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组 #include <iostream> #include <string> #include & ...