爬虫爬取网页数据

public static void Main(string[] args)
{
string url = "https://ly.esf.fang.com/house-a010204-b012374/";//所需要爬取网站地址
string data = GetWebContent(url);

var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(data);//加载数据流
HtmlNodeCollection htmlNodes = htmlDoc.DocumentNode.SelectNodes("//div[@class=‘shop_list shop_list_4‘]/dl[@id]");//查询根节点div下的class属性 详细请看https://www.cnblogs.com/GmrBrian/p/6201237.html
string a = "";
foreach (var item in htmlNodes)//htmlNodes把数据乱码进行编译
{
a += item.OuterHtml.ToString();
}
var FangJi = new HtmlDocument();
FangJi.LoadHtml(a);
string fM = "//dd/h4[@class=‘clearfix‘]/a/span";//同上
string gGe = "//dd/p[@class=‘tel_shop‘]";
string dZ = "//dd/p[@class=‘add_shop‘]/span";
var fangMing = FangJi.DocumentNode.SelectNodes(fM);
var guiGe = FangJi.DocumentNode.SelectNodes(gGe);
var diZhi = FangJi.DocumentNode.SelectNodes(dZ);
string fm = "";
string gge = "";
string dz = "";
foreach (var item in fangMing)
{
fm += item.InnerText.ToString() + "*";
}
foreach (var item in guiGe)
{
gge += item.InnerText.Trim() + "*";
}
foreach (var item in diZhi)
{
dz += item.InnerText.ToString() + "*";
}
string[] Fangming = fm.Split(‘*‘);
string[] Guige = gge.Split(‘*‘);
string[] Dizhi = dz.Split(‘*‘);

for (int i = 0; i < Fangming.Length - 1; i++)
{
Add(Fangming[i], Guige[i], Dizhi[i]);
}
}

public static void Add(string da1, string da2, string da3)//存储数据数据库
{
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["constring"]);
SqlCommand cmd = new SqlCommand("insert into CountPC values(‘" + da1 + "‘,‘" + da2 + "‘,‘" + da3 + "‘)", conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}

public static string GetWebContent(string Url)
{
/// 抓取数据
string strResult = "";
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
//声明一个HttpWebRequest请求
request.Timeout = 30000;
//设置连接超时时间
request.Headers.Set("Pragma", "no-cache");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("GB2312");//网页所需编码格式
StreamReader read = new StreamReader(new GZipStream(streamReceive, CompressionMode.Decompress), encoding);

strResult = read.ReadToEnd();
}
catch
{

}
return strResult;
}

}

原文地址:https://www.cnblogs.com/wxc-love/p/10746404.html

时间: 2024-08-19 09:47:48

爬虫爬取网页数据的相关文章

python爬虫——爬取网页数据和解析数据

1.网络爬虫的基本概念 网络爬虫(又称网络蜘蛛,机器人),就是模拟客户端发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序.只要浏览器能够做的事情,原则上,爬虫都能够做到. 2.网络爬虫的功能   图2 网络爬虫可以代替手工做很多事情,比如可以用于做搜索引擎,也可以爬取网站上面的图片,比如有些朋友将某些网站上的图片全部爬取下来,集中进行浏览,同时,网络爬虫也可以用于金融投资领域,比如可以自动爬取一些金融信息,并进行投资分析等. 有时,我们比较喜欢的新闻网站可能有几个,每次

python之爬取网页数据总结(一)

今天尝试使用python,爬取网页数据.因为python是新安装好的,所以要正常运行爬取数据的代码需要提前安装插件.分别为requests    Beautifulsoup4   lxml  三个插件. 因为配置了环境变量,可以cmd命令直接安装.假如电脑上有两个版本的python,建议进入到目录安装. 安装的命令为 pip install requests(Beautifulsoup4   /lxml  ) 三条分别执行. 安装结束,可以尝试网上一些简单的例子,明白了解 Beautifulso

用puppeteer爬取网页数据初体验

用puppeteer爬取网页数据 业务需求,页面需要显示很多链接列表,像这样的. 我问项目经理要字典表,他笑咪咪地拍着我的肩膀说:"这边有点忙,要不按照这个自己抄一下吧". emmm- 我看了一下,数据大概有七八百条,一个一个录入,那不得搞到地老天荒.海枯石烂. 心口一股燥热,差点就要口吐莲花,舌吐芬芳了- 转念一想,做人要儒雅随和,念在平时没少蹭吃蹭喝的份上,咱先弄一下吧. 可是怎么弄呢? 一个一个输入是不可能的,我们需要录入每个组的标题.标题下的名称和链接,这是需要看网页源码,效率

接着上次的python爬虫,今天进阶一哈,局部解析爬取网页数据

*解析网页数据的仓库 用Beatifulsoup基于lxml包lxml包基于html和xml的标记语言的解析包.可以去解析网页的内容,把我们想要的提取出来. 第一步.导入两个包,项目中必须包含beautifulsoup4和lxml 第二步.先去获取网页的数据 def get_html(): url="http://www.scetc.net" response=request.get(url) response.encoding="UTF-8" return res

03:requests与BeautifulSoup结合爬取网页数据应用

1.1 爬虫相关模块命令回顾 1.requests模块 1. pip install requests 2. response = requests.get('http://www.baidu.com/ ')            #获取指定url的网页内容 3. response.text                                                                                #获取文本文件 4. response.cont

Python爬虫-抓取网页数据并解析,写入本地文件

之前没学过Python,最近因一些个人需求,需要写个小爬虫,于是就搜罗了一批资料,看了一些别人写的代码,现在记录一下学习时爬过的坑. 如果您是从没有接触过Python的新手,又想迅速用Python写出一个爬虫,那么这篇文章比较适合你. 首先,我通过: https://mp.weixin.qq.com/s/ET9HP2n3905PxBy4ZLmZNw 找到了一份参考资料,它实现的功能是:爬取当当网Top 500本五星好评书籍 源代码可以在Github上找到: https://github.com/

pycharm爬取网页数据

1 python环境的配置 1.1 安装python文件包,放到可以找到的位置 1.2 右键计算机->属性->高级环境设置->系统变量->Path->编辑->复制python路径位置 1.3 管理员身份打开cmd,输入python,测试环境是否安装成功 2 安装pycharm 2.1 安装pycharm文件包,放到可以找到的位置 2.2 新建文件夹,需要设置环境 2.3 File->Setting->project ...->add->找到pyt

垂直爬虫爬取分页数据

为了爬取全部详情页,一般从列表页开始多线程并发爬取,并发线程数受网络环境(一般表现为超时)和服务器性能影响(一般表现为http响应500). 1.第一页作为抓取入口url,解析出详情页url及其他分页url,详情页优先爬,避免缓存的url过多: 2.查看总共多少页(如果分页中没有总共多少页,通过总记录数/每页记录数计算出多少页),爬取过程不解析分页url,一次性添加全部分页url, 当然也可以在爬第一页的时候添加全部分页,每爬完一页解析出详情页url,详情页优先爬: 3.有些网站在详情页提供上一

爬取网页数据基础

代码如下: package com.tracker.offline.tools; import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Lists; import com.tracker.common.utils.StringUtil; import com.tracker.coprocessor.utils.JsonUtil; import org.apache.commons.lang.StringU