MVC爬取网页指定内容到数据库
控制器
//获取并插入
//XPath获取
public JsonResult Add(string url)
{
HtmlWeb web = new HtmlWeb();
HtmlDocument document = web.Load(url);
//创建html的节点
HtmlNode node1 = document.DocumentNode;
//获取需要的内容节点
string jiedian = "//*[@id='761dfa3c-837a-6ba5-6b1b-9fa9afad498e']";
//获取需要的内容
HtmlNode node2 = node1.SelectSingleNode(jiedian);
string con = node2.InnerText;
//字符串替换
string str1 = con.Replace("\r\n\t", "").Replace("\r\n\t", "").Replace("\r\n", ""); //字符串截取
string[] str2 = str1.Split('\t');
StringBuilder builder = new StringBuilder();
foreach (string item in str2 )
{
if (!string.IsNullOrEmpty(item.Trim()))
{
builder.Append("insert into Files values('" + item + "')");
}
}
string sql = builder.ToString();
int i = db.ExeNonQuery(sql);
return Json(i);
}
//读取
public JsonResult GetList()
{
string sql = "select * from Files";
DataTable dt = db.GetTable(sql);
List<FilesViewModel> list = new List<FilesViewModel>();
foreach (DataRow item in dt.Rows)
{
FilesViewModel files = new FilesViewModel();
files.Name = item["Name"].ToString();
list.Add(files);
}
return Json(list);
}
//视图采用ajax获取
<div>
<table>
<tr>
<td>Url:<input id="url" type="text" /><input id="Button1" type="button" value="开始爬取" onclick="paqu()" /></td>
</tr>
<tr>
<td>内容</td>
</tr>
<tbody id="content"> </tbody>
</table>
</div>
<script> function paqu() {
var url = $("#url").val();
$.ajax({
url: "/Files/Add",
type: "post",
data: { url: url },
success: function (data) {
if (data > ) {
alert("添加成功");
load();
}
}
})
} function load() {
$.ajax({
url: "/Files/GetList",
type: "post",
success: function (data) {
$("#content").empty();
$(data).each(function () {
var tr = "<tr><td>" + this.Name + "</td></tr>";
$("#content").append(tr);
})
}
})
}
</script>
MVC爬取网页指定内容到数据库的更多相关文章
- Python入门,以及简单爬取网页文本内容
最近痴迷于Python的逻辑控制,还有爬虫的一方面,原本的目标是拷贝老师上课时U盘的数据.后来发现基础知识掌握的并不是很牢固.便去借了一本Python基础和两本爬虫框架的书.便开始了自己的入坑之旅 言 ...
- java实现多线程使用多个代理ip的方式爬取网页页面内容
项目的目录结构 核心源码: package cn.edu.zyt.spider; import java.io.BufferedInputStream; import java.io.FileInpu ...
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】
[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...
- Python爬取豆瓣指定书籍的短评
Python爬取豆瓣指定书籍的短评 #!/usr/bin/python # coding=utf-8 import re import sys import time import random im ...
- 使用webdriver+urllib爬取网页数据(模拟登陆,过验证码)
urilib是python的标准库,当我们使用Python爬取网页数据时,往往用的是urllib模块,通过调用urllib模块的urlopen(url)方法返回网页对象,并使用read()方法获得ur ...
- 5分钟掌握智联招聘网站爬取并保存到MongoDB数据库
前言 本次主题分两篇文章来介绍: 一.数据采集 二.数据分析 第一篇先来介绍数据采集,即用python爬取网站数据. 1 运行环境和python库 先说下运行环境: python3.5 windows ...
- python3爬虫爬取网页思路及常见问题(原创)
学习爬虫有一段时间了,对遇到的一些问题进行一下总结. 爬虫流程可大致分为:请求网页(request),获取响应(response),解析(parse),保存(save). 下面分别说下这几个过程中可以 ...
- 【网络爬虫】【python】网络爬虫(五):scrapy爬虫初探——爬取网页及选择器
在上一篇文章的末尾,我们创建了一个scrapy框架的爬虫项目test,现在来运行下一个简单的爬虫,看看scrapy爬取的过程是怎样的. 一.爬虫类编写(spider.py) from scrapy.s ...
- Python使用urllib,urllib3,requests库+beautifulsoup爬取网页
Python使用urllib/urllib3/requests库+beautifulsoup爬取网页 urllib urllib3 requests 笔者在爬取时遇到的问题 1.结果不全 2.'抓取失 ...
随机推荐
- [No0000CF]想有一辈子花不完的钱?从了解“被动收入”开始吧
我想从理清自己所说被动收入的含义,开始创作此被动收入系列文章. 我更喜欢把被动收入较宽泛地定义为,甚至当你没有主动工作时,仍可赚取的收益.被动收入的另一个名称是剩余收入. 相比之下,当你停止工作时,通 ...
- sklearn的K折交叉验证函数KFold使用
K折交叉验证时使用: KFold(n_split, shuffle, random_state) 参数:n_split:要划分的折数 shuffle: 每次都进行shuffle,测试集中折数的总和就是 ...
- MVC 实用架构设计(三)——EF-Code First(5):二级缓存
一.前言 今天我们来谈谈EF的缓存问题. 缓存对于一个系统来说至关重要,但是是EF到版本6了仍然没有见到有支持查询结果缓存机制的迹象.EF4开始会把查询语句编译成存储过程缓存在Sql Server中, ...
- wpf(Application 如何创建一个事件,及其Application相关的属性)
1.如何关闭wpf程序.应用程序的关闭只有调用其shutdown方法才可以.shutdown有三种属性.OnLastWindowClose,OnMainWindowClose,OnExplicitSh ...
- [CentOS7][ssh][publickey][troubleshoot] 通过密钥登录ssh故障排查
通常情况下,我会使用非对称加密的方式来进行ssh的登录. 做法: 将公钥添加到 $HOME/.ssh/authorized_keys 文件中. 但是通常,会遇见各种各样的问题,导致失败.汇总如下: 0 ...
- MovieLens电影数据分析
下载数据包 链接:https://grouplens.org/datasets/movielens/1m/ 解压: 四个文件分别是数据介绍,电影数据表,电影评分表,用户表 进行电影数据分析 进入ipy ...
- 洛谷P4247 序列操作 [清华集训] 线段树
正解:线段树 解题报告: 传送门! 通过这题我get了一个神奇的,叫,线段树五问的东西hhhh 听起来有点中二但感觉真正做题的时候还是比较有用的,,,?感觉会让条理清晰很多呢,所以放一下QwQ →每个 ...
- 终于解决“Git Windows客户端保存用户名与密码”的问题(转载)
add by zhj:不建议用这种方法,建议用SSH,参见 TortoiseGit密钥的配置 http://www.cnblogs.com/ajianbeyourself/p/3817364.html ...
- html简单网页1
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- es组合多个条件进行查询
GET /test_index/_search{ "query": { "bool": { "must": { "match&qu ...