c 爬蟲爬取商品資訊

2021-09-01 06:05:33 字數 2921 閱讀 5163

在乙個小專案中,需要用到京東的所有商品id,因此就用c#寫了個簡單的爬蟲。

在解析html中沒有使用正規表示式,而是借助開源專案htmlagilitypack解析html。

public static string downloadhtml(string url, encoding encode)

catch (exception ex)}}

}catch (system.net.webexception ex)

catch (exception ex)

return html;

}

如上**所示,我們使用webrequest來獲取網頁資訊,在傳送請求之前,需要先設定和京東頁面一樣的請求頭。

以上設定的資訊比較簡單,但能夠正常傳送請求,我們也可以模擬瀏覽器設定cookie等等資訊,

獲取所有商品的資訊分為兩個步驟

(1)根據商品分類頁面獲取所有商品分類的url

(2)根據商品分類url獲取每個商品

try}}

}catch (exception ex)

(2)選擇節點,獲取每個大類的節點集合

(3)根據每個大類的節點,獲取每個小類的節點資訊,然後獲取到分類位址

節點中也包含了其它很多資訊,可以根據自己的需求去獲取對應的資訊

(1)首先根據商品分類載入分類資訊,獲取到當前分類每個頁面的鏈結

來篩選需要的節點,將每個頁面的url分離出來

try

&page=", category.url, i).replace("&page=1&", string.format("&page=&", i));

trycatch (exception ex)}}

}catch (exception ex)

(2)根據每個頁面的鏈結,獲取當前頁面的商品資訊

首先我們獲取到每個商品的節點集合,獲取到乙個商品的節點資訊之後,分析html資料,

找到我們需要的商品的資訊所在的位置,然後將需要的資訊分離出來。

下面的**中我獲取到的商品的id和title還有**。

}//批量獲取**

getgoodsprice(productinfolist);

}catch (exception ex)

return productinfolist;

商品的位址和**資訊的獲取需要仔細分析html中的資料,然後找到規律,比如**在每個節點中就不能單獨獲取。

以下為批量獲取**的**:

以上就是乙個簡單的爬取京東商品資訊的爬蟲,也可以根據自己的需求去解析更多的資料出來。

爬取京東商品資訊

爬取京東商品資訊 from selenium import webdriver from selenium.webdriver import chromeoptions from selenium.webdriver import actionchains from selenium.webdriv...

selenium 爬蟲爬取京東商城商品資訊

看完用selenium爬取 商品資訊的網課,於是乎想著自己也整乙個selenium程式來爬取京東以作鞏固。寫了幾個小時的 通過不斷除錯,學到了很多細節上的處理,完整 在下方,使用時修改搜尋的引數就可以開始爬取了,事先要安裝goole chrome的驅動。最終爬取的結果儲存在了products陣列中,...

python 爬取京東商品資訊

coding utf 8 import os import re import time from urllib.parse import urlencode import requests from lxml import etree import pymysql from time import...