|
|
本帖轉自福利社區,在此分享下:
最近那個淘寶試用軟件好像出問題 , 採集不到信息。
剛好在學校閒來無事 又可以用到自己所學。
這個代碼在樓主這裡是可以運行的 但是你們需要滿足三個條件才行
1.運行環境為 framework .net
2.需要安裝火狐瀏覽器 並且安裝在默認位置
3.需要引用Selenium(官網可以下載)
有興趣可以接著向下看 沒有興趣可以轉身離去
樓主用的是selenium
模擬用戶正常操作
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Threading;
- using OpenQA.Selenium;
- using OpenQA.Selenium.Firefox;
- namespace 淘寶試用抓取
- {
- class Program
- {
- static void Main(string[] args)
- {
- Thread th = new Thread(open);
- th.Start();
- }
- static void open()
- {
- IWebDriver driver = new FirefoxDriver();
- Thread.Sleep(2000);
- driver.Url = "http://www.taobao.com/";
- Console.WriteLine("登陸成功後輸入任意按鍵");
- Console.ReadKey();
- driver.Url = "https://shishi.taobao.com/item/list.htm#!/search/?tab&o_cat_id=40&page=1";
- Thread.Sleep(2000);
- string handle = driver.CurrentWindowHandle.ToString();
- for(int i = 0; i<10; i++)
- {
-
- driver.FindElement(By.ClassName("tb-trial-wd-list-search-result")).FindElements(By.ClassName("tb-trial-button")).Click();
- IList<string> windows = driver.WindowHandles;
- foreach (var win in windows)
- {
- if (win != handle)
- {
- driver.SwitchTo().Window(win);
- try
- {
- driver.FindElement(By.ClassName("J_TryApply")).Click();
-
- driver.FindElement(By.ClassName("apply-try-address-submit")).Click();
- }
- catch { }
- driver.SwitchTo().Window(win).Close();
- }
- }
- driver.SwitchTo().Window(handle);
- }
- driver.Url = "https://shishi.taobao.com/item/list.htm#!/search/?tab&o_cat_id=40&page=2";
- Thread.Sleep(2000);
- for (int i = 0; i < 10; i++)
- {
- driver.FindElement(By.ClassName("tb-trial-wd-list-search-result")).FindElements(By.ClassName("tb-trial-button")).Click();
- IList<string> windows = driver.WindowHandles;
- foreach (var win in windows)
- {
- if (win != handle)
- {
- driver.SwitchTo().Window(win);
- try
- {
- driver.FindElement(By.ClassName("J_TryApply")).Click();
- driver.FindElement(By.ClassName("apply-try-address-submit")).Click();
- }
- catch { }
- driver.SwitchTo().Window(win).Close();
- }
- }
- driver.SwitchTo().Window(handle);
- }
- }
- }
- }
複製代碼 代碼不是很長 有點C#的應該都可以看懂 需要引用Selenium(官網可以下載) 運行環境是 framework .net
因為是作者下午隨意寫的 功能不是很人性化 獲取的是手機部分的前15個
目前發過來只是分享下 作者表示等以後有空了可能會完善一下吧

|
|