”抓取“

1.数据库表格的建立;2.利用"抓取"模板;3.添加引用:  程序包:Jumony,Json;   项目:WebBot中的dll文档,位于bin目录下.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Skay.WebBot;
using Ivony.Html;
using Ivony.Html.Parser;
using System.Threading;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Data.SqlClient;
namespace 抓取
{
    class Program
    {
        public static Thread th;
        static void Main(string[] args)
        {
            SqlConnection conn = new SqlConnection("Data Source=PC-201511281446;Initial Catalog=数据;Integrated Security=True");
            conn.Open();
            th = new Thread(new ThreadStart(GetJDData));
            th.Start();
            conn.Close();

        }
        private static void GetJDData()
        {
            HttpUtility http = new HttpUtility();
            string html = http.GetHtmlText("http://www.htluxe.com/category.php?category=63&display=list&brand=0&price_min=0&price_max=0&filter_attr=0&page=1&sort=goods_id&order=DESC#goods_list");
            var documenthtml = new JumonyParser().Parse(html);
            var items = documenthtml.Find(".piclist li");
            //Console.WriteLine(items.Count());数据的总数
            foreach (var item in items)
            {
                SqlConnection conn = new SqlConnection("Data Source=PC-201511281446;Initial Catalog=数据;Integrated Security=True");
                conn.Open();
                string title = item.FindFirst(".base a").InnerText();
                string min_price = item.FindFirst(".base .price .minprice").InnerText();
                string max_price = item.FindFirst(".base .price .maxprice").InnerText();
                string goodsurl = item.FindFirst(".base a").Attribute("href").Value();
                string visitsum = item.FindFirst(".sum .ratecount strong").InnerText();
                string salesum = item.FindFirst(".sum .soldnum strong").InnerText();
                goodsurl = "http://www.htluxe.com/" + goodsurl;//需拼接完整,才能 用http.GetHtmlText()
                Console.WriteLine(title);
                string Area_Html = http.GetHtmlText(goodsurl, "utf-8", "text/html; charset=utf-8", "");
                //获取网址
                var documenthtml1 = new JumonyParser().Parse(Area_Html);
                var item1s = documenthtml1.Find(".promotionMiddleTop");
                //获取所需要的东西,可将其看为数,遍历取自己所要的;
                string Code = "";
                foreach(var item1 in item1s)
                {
                    Code = item1.FindFirst(".bh").InnerText();
                }
                var item2s = documenthtml1.Find(".comment-tab .clearfix li");
                string Bestping = "";
                string Goodping = "";
                string Badping = "";
                int flag = 0;
                foreach (var item2 in item2s)
                {
                    if (flag == 0)
                    {
                        flag++;
                    }
                    else if (flag == 1)
                    {
                        flag++;
                        Bestping = item2.FindFirst("a").InnerText();
                    }
                    else if (flag == 2)
                    {
                        flag++;
                        Goodping = item2.FindFirst("a").InnerText();
                    }
                    else if(flag == 3)
                    {
                        flag++;
                        Badping = item2.FindFirst("a").InnerText();
                    }

                }
                string sql = string.Format("insert into milk values (‘{0}‘,‘{1}‘,‘{2}‘,‘{3}‘,‘{4}‘,‘{5}‘,‘{6}‘,‘{7}‘,‘{8}‘)",title,Code,min_price,max_price,salesum,visitsum,Bestping,Goodping,Badping );
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.ExecuteNonQuery();
                conn.Close();
            }
            Console.ReadKey();
        }
    }
}
时间: 2024-08-26 19:05:52

”抓取“的相关文章

一个实用的C#网页抓取类代码分享

一个实用的C# 网页抓取类 模拟蜘蛛,类中定义了超多的C#采集文章.网页抓取文章的基础技巧,下面分享代码: using System; using System.Data; using System.Configuration; using System.Net; using System.IO; using System.Text; using System.Collections.Generic; using System.Text.RegularExpressions; using Sys

fiddler抓取手机端的数据流量包

1.首先下载安装fiddler 2.然后打开fiddler,进入到tools-->options-->connections 3.然后进入到https 4.设置完成后,查找本机ip 然后打开手机的wifi,进行代理设置,手动输入本机ip地址,端口号就是8888 5.最重要的一点就是要手机端安装证书,要不然就会报tunnel to 443,抓取不到https的数据包 6.安装证书步骤 手机浏览器输入:http://你挂代理的ip:8888/FiddlerRoot.cer,然后安装成功就能抓取ht

使用Wireshark mac下抓取分析iphone数据包 --IOS端

mac系统版本:mac 10.10 Yosemite xcode版本:6.3.1 在追踪bug或者分析借鉴其他公司的app通讯思路时,抓包这件事是非常有必要的.下面说说Wireshark怎么截获iphone的数据包. 安装wireshark wireshark是依赖x11的,所以首先确认安装了x11,mac自带,可以打开升级一下.前往-实用工具-x11,打开后点击菜单栏上的x11,检查更新 即可.中间提取包内容过程比较长,耐心等待. 下载Wireshark最新版,尽量去官网下载:https://

关于curl跳转抓取

今天在公司碰到了一个bug,就是以前一直用curl下载的MP3录音文件为空了,但是浏览器去get请求是有文件的,并且大小还不是0kb,但是我用curl下载下来就是0K,百思不得其解.终于功夫不负有心人,得到了方法,原来我一直要去第三方的接口拿到录音数据,但是今天的录音数据中地址跳转了,也就是第一次请求的地址返回的是302, 这是以前的代码 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // curl_setopt($ch, CUR

ngrep环回接口数据抓取方法,使用-d lo参数

ngrep环回接口数据抓取方法,使用-d lo参数,注意顺序: ngrep -W byline -d lo port 80

[搬运自我的CSDN博客] python抓取javascript动态生成HTML内容的实践

<注:CSDN博客在美国访问特别卡,所以转移到cnblogs来发文章> 本实验在Ubuntu14.04上完成.使用的浏览器是火狐(Firefox 33.0),python版本是2.7.6. 大家都知道用urllib配合正则表达式抓取静态HTML的内容很方便,但是如果网页中有javascript动态生成的内容,urllib就无能为力了. 此时我们要借助一个额外的工具:selenium.它的工作原理是操纵(火狐)浏览器浏览目标网页,等待网页中的javascript全部执行完毕后再对HTML源码进行

用Python多线程抓取并验证代理

因为工作的关系,我写过许多个抓取网站信息的程序. 最简单的,只要用Python的urllib2.urlopen()函数就可以了: 然后,有个网站喜欢封人,所以,得找一批代理,轮流抓它的信息: 有的网站不允许程序抓取,所以,就得加入一些头信息: 有的网站需要登录,这时就要用到Cookies: 最后,为了提高效率,最好是使用多线程.(PS,有个地方要注意,urlopen这个函数,设定了一个全局对象opener,所以如果你使用了多个线程, 每个线程使用一个代理,那么,不能使用urlopen这个函数,而

cacti 网卡抓取不到eth1流量

linux解决办法如下: client设置: vi /etc/snmp/snmpd.conf a.修改默认的community stringcom2sec notConfigUser  default       public将public修改为你知道的字符串b.把下面的#号去掉#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fcc.把下面的语句access notConfigGroup "" any noauth exact

nutch2.1抓取中文网站

对nutch添加中文网站抓取功能. 1.中文网页抓取 A.调整mysql配置,避免存入mysql的中文出现乱码.修改 ${APACHE_NUTCH_HOME} /runtime/local/conf/gora.properties ############################### # MySQL properties            # ############################### gora.sqlstore.jdbc.driver=com.mysql.jd

asp.net如何抓取其他网站的内容

1. 需要引用的类库 using System.Net; using System.IO; using System.Text; using System.Text.RegularExpressions; 2. 获取其他网站网页内容的关键代码 WebRequest request = WebRequest.Create("http://目标网址.com/"); WebResponse response = request.GetResponse(); StreamReader read