曼巴
曼巴
Sep 7, 2018 · 3 min read

This is my updated Code,run success

program is windowsForm type

private static async Task startCrawlerasync(TextBox txt)
{
var url = “https://www.automobile.tn/neuf/bmw.3/";

//var httpClient = new HttpClient();
//var html = await httpClient.GetStringAsync(url);
//var htmlDocument = new HtmlAgilityPack.HtmlDocument();
//htmlDocument.LoadHtml(html);

HtmlWeb web = new HtmlWeb();
HtmlAgilityPack.HtmlDocument htmlDocument = web.Load(url);

var cars = new List<Car>();

var divs = htmlDocument.DocumentNode.Descendants(“div”)
.Where(node => node.GetAttributeValue(“class”, “”).Equals(“article_new_car article_last_modele”));

foreach (var div in divs)
{
var car = new Car()
{
Model = div.Descendants(“h2”).FirstOrDefault().InnerText,
Price = div.Descendants(“div”).FirstOrDefault().InnerText,
Link = div.Descendants(“a”).FirstOrDefault().ChildAttributes(“href”).FirstOrDefault().Value,
ImageUrl = div.Descendants(“img”).FirstOrDefault().ChildAttributes(“src”).FirstOrDefault().Value
};
cars.Add(car);
}
string connectionString = “Data Source = 172.65.111.35; Initial Catalog = business; User ID = sa; Password = 1111111”;
int i = 0;
string queryString = “”;

int num = 0;
foreach (var item in cars)
{
queryString = “insert carinfo(Model,Price,Link,imageUrl) values(‘“ + item.Model + “‘,’” + item.Price + “‘,’” + item.Link + “‘,’” + item.ImageUrl + “‘)”;
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.CommandTimeout = 360;
i = command.ExecuteNonQuery();

if (i > 0)
num++;
}

}
txt.Text = “累计添加记录:”+num;
}

    曼巴

    Written by

    曼巴