日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

利用Selenium爬取淘宝商品信息

發布時間:2024/9/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用Selenium爬取淘宝商品信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章來源:公眾號-智能化IT系統。


一. ?Selenium和PhantomJS介紹


Selenium是一個用于Web應用程序測試的工具,Selenium直接運行在瀏覽器中,就像真正的用戶在操作一樣。由于這個性質,Selenium也是一個強大的網絡數據采集工具,其可以讓瀏覽器自動加載頁面,這樣,使用了異步加載技術的網頁,也可獲取其需要的數據。

?

Selenium模塊是Python的第三方庫,可以通過pip進行安裝:

pip3 install selenium

?

Selenium自己不帶瀏覽器,需要配合第三方瀏覽器來使用。通過help命令查看Selenium的Webdriver功能,查看Webdriver支持的瀏覽器:

from selenium import webdriver

help(webdriver)

查看執行后的結果,如下圖所示:

?

在這個案例中,采用PhantomJS。Selenium和PhantomJS的配合使用可以完全模擬用戶在瀏覽器上的所有操作,包括輸入框內容填寫、單擊、截屏、下滑等各種操作。這樣,對于需要登錄的網站,用戶可以不需要通過構造表單或提交cookie信息來登錄網站。

?

二. 案例介紹


這里所舉的案例,是利用Selenium爬取淘寶商品信息,爬取的內容為淘寶網(https://www.taobao.com/)上男士短袖的商品信息,如下圖所示:



這里可以看到,在用戶輸入淘寶后,需要模擬輸入,在輸入框輸入“男士短袖”。

?

案例中使用Selenium和PhantomJS,模擬電腦的搜索操作,輸入商品名稱進行搜索,如圖所示,“檢查”搜索框元素。



并且如下圖所示,“檢查”下一頁元素:

?

爬取的內容有商品價格、付款人數、商品名稱、商家名稱和地址,如下圖所示:



最后把爬取數據存儲到MongoDB數據庫中。

?

三. 相關技術


小編這里把除了selenium之外所需要的知識列一下,這里就不做詳細解釋了,如果不清楚的話可以百度了解下。

  • mongoDB的使用,以及在python中用mongodb進行數據存儲。

  • lxml,爬蟲三大方法之一,解析效率比較高,使用難度相比正則表達式要低(上一篇文章的解析方法是正則表達式)。

  • 間歇休息的方法:driver.implicitly_wait

?

四. 源代碼


代碼如下所示,可復制直接執行:

from selenium import webdriver

from lxml import etree

import time

import pymongo

?

client = pymongo.MongoClient('localhost', ?27017)

mydb = client['mydb']

taobao = mydb['taobao']

?

driver = webdriver.PhantomJS()

driver.maximize_window()

?

def get_info(url,page):

??? ?page = page + 1

??? ?driver.get(url)

??? ?driver.implicitly_wait(10)

??? ?selector = etree.HTML(driver.page_source)

??? ?infos = selector.xpath('//div[@class="item J_MouserOnverReq"]')

??? ?for info in infos:

??????? data = info.xpath('div/div/a')[0]

??????? goods = ?data.xpath('string(.)').strip()

??????? price = info.xpath('div/div/div/strong/text()')[0]

??????? sell = ?info.xpath('div/div/div[@class="deal-cnt"]/text()')[0]

??????? shop = ?info.xpath('div[2]/div[3]/div[1]/a/span[2]/text()')[0]

??????? address = ?info.xpath('div[2]/div[3]/div[2]/text()')[0]

??????? commodity = {

??????????? 'good':goods,

??????????? 'price':price,

??????????? 'sell':sell,

??????????? 'shop':shop,

??????????? 'address':address

??????? }

??????? taobao.insert_one(commodity)

?

??? ?if page <= 50:

??????? NextPage(url,page)

??? ?else:

??????? pass

?

def NextPage(url,page):

??? ?driver.get(url)

??? ?driver.implicitly_wait(10)

??? ?driver.find_element_by_xpath('//a[@trace="srp_bottom_pagedown"]').click()

??? ?time.sleep(4)

??? ?driver.get(driver.current_url)

??? ?driver.implicitly_wait(10)

??? ?get_info(driver.current_url,page)

?

if __name__ == '__main__':

??? ?page = 1

??? ?url = 'https://www.taobao.com/'

??? ?driver.get(url)

??? ?driver.implicitly_wait(10)

??? ?driver.find_element_by_id('q').clear()

??? ?driver.find_element_by_id('q').send_keys('男士短袖')

??? ?driver.find_element_by_class_name('btn-search').click()

??? ?get_info(driver.current_url,page)


五. 代碼解析

(1)1~4行

導入程序需要的庫,selenium庫用于模擬請求和交互。lxml解析數據。pymongo是mongoDB 的交互庫。

(2)6~8行

打開mongoDB,進行存儲準備。

(3)10~11行

最大化PhantomJS窗口

(4)14~33行

利用lxml抓取網頁數據,分別定位到所需要的信息,并把信息集成至json,存儲至mongoDB。

(5)35~47行

分頁處理。

(5)51~57行

利用selenium模擬輸入“男士短袖”,并模擬點擊操作,并獲取到對應的頁面信息,調取主方法解析。


———————————————————

公眾號-智能化IT系統。每周都有技術文章推送,包括原創技術干貨,以及技術工作的心得分享。掃描下方關注。


總結

以上是生活随笔為你收集整理的利用Selenium爬取淘宝商品信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲免费视频网 | 樱桃视频污污 | 午夜视频免费观看 | 另类综合小说 | 依人在线视频 | 淫综合网 | 精品视频在线观看一区 | 人妻少妇偷人精品久久久任期 | 日韩在线观看视频一区二区 | 黄av在线| 中文字幕精品一区二区精品 | 国产88av | 野外性满足hd| 欧美黑吊大战白妞 | 国产精品极品白嫩 | 超碰人人艹 | 国产不卡在线观看视频 | 日本亚洲视频 | 欧美日韩在线a | 日本成人在线看 | 青青草华人在线 | 黄色片在线观看免费 | 亚洲综合色视频 | 日韩在线视频网站 | 国产精品五区 | 成人毛片18女人 | 手机av在线免费观看 | 国产精品久久久久久久久免费相片 | 欧美一区二区三区在线观看视频 | 中文字幕在线导航 | 亚欧在线免费观看 | 欧美日韩国产一区二区三区在线观看 | 久久午夜福利电影 | 久久夜色精品国产欧美乱极品 | 亚洲精品高清在线 | 久久99国产精品一区 | 日本三级吃奶头添泬无码苍井空 | 亚洲a在线播放 | 天天爱夜夜爱 | 色播网址 | 欧美激情视频一区 | h视频免费在线观看 | 国产九色视频 | 献给魔王伊伏洛基亚吧动漫在线观看 | 90岁肥老奶奶毛毛外套 | 成人片网址 | 欧美综合在线观看 | 色一情一区二区三区 | 超碰国产人人 | 中文字幕视频网站 | 免费亚洲一区二区 | 日日艹夜夜艹 | 91日韩在线 | 国产影音先锋 | 天堂伊人网 | 欧美日韩一区在线 | 干一夜综合 | 色大师在线观看 | 玖玖精品视频 | 国产香蕉97碰碰碰视频在线观看 | 国产精品va | 好大好爽视频 | 亚洲制服在线观看 | 九九热伊人 | 国产成人无码一区二区三区在线 | 51啪影院 | 视频一区三区 | 91看片网 | 中文日韩av | 国产尻逼视频 | 精品少妇人妻av一区二区三区 | 男插女在线观看 | 在线天堂资源 | 开心激情亚洲 | 欧洲日韩一区二区三区 | 精品美女久久久 | 日本在线观看www | 97精品国产97久久久久久免费 | 秋霞欧洲| 亚洲国产成人精品激情在线 | 色在线免费观看 | 在线视频综合网 | 三级av在线播放 | 亚洲男人天堂2024 | 久久久久久久无码 | 尤物videos另类xxxx | 免费观看美女裸体网站 | 成人精品一区二区三区 | 亚洲精品乱码久久久久久蜜桃欧美 | 懂色a v | 成人av电影免费观看 | 字幕网在线 | 欧美性视频网站 | 操网站| 高清不卡一区二区三区 | 永久免费在线 | 影音先锋色小姐 | 国产5区 | 91涩漫成人官网入口 |