在乙個小專案中,需要用到京東的所有商品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...