中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python怎么抓取淘寶商品信息

發布時間:2021-11-25 09:55:47 來源:億速云 閱讀:469 作者:iii 欄目:大數據

這篇文章主要介紹“Python怎么抓取淘寶商品信息”,在日常操作中,相信很多人在Python怎么抓取淘寶商品信息問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python怎么抓取淘寶商品信息”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

        對于采用異步加載技術的網頁,有時候想通過逆向工程的方式來設計爬蟲進行爬取會比較困難,因此,要想通過python獲取異步加載數據往往可以使用Selenium模擬瀏覽器的方式來獲取。

        Selenium是一個用于Web應用程序測試的工具,它可以在瀏覽器中運行,模擬用戶真實的瀏覽網頁操作,也就是說可以實現瀏覽器加載頁面,搜索關鍵字和點擊翻頁等等操作,因此,就算使用了異步加載技術的網頁,也可以模擬翻頁得到不同的網頁,也就可以得到你想要的數據了。

        Selenium模塊在第三方庫里面可以找到,使用pycharm軟件,打開左上角PyCharm->項目->python解釋器->preferences里面添加,結果如下圖進行搜索安裝即可。

Python怎么抓取淘寶商品信息

       由于Selenium自己不帶有瀏覽器,因此需要配合我們自己電腦安裝的瀏覽器來使用,這里我們是通過常用的Chrome瀏覽器來模擬實現爬取數據。具體可以模擬的操作主要有如下一些操作:輸入框內容填寫、點擊按鈕、截屏、下滑等,因此對于登錄網站的時候,我們可以不再需要構造表單或者提交cookie來登錄網站了,只需要通過python代碼模擬輸入《賬號》和《密碼》實現登錄。

(1)以下是模擬搜索和登錄最常用代碼

Python怎么抓取淘寶商品信息

(2)登錄后獲取數據的常用代碼

Python怎么抓取淘寶商品信息

備注:此處xpath和單獨的xpath方法差異就是此處是在最后加.text,單獨xpath是在路徑里面加/text()

以上是selenium基本要點,現在讓我們開始進行實踐操刀,如何來對淘寶商品信息進行抓取。

工具和語言:Selenium+Chrome+PyCharm+Python

抓取平臺:www.taobao.com

抓取思路:以抓取我最近想入手的投影儀商品為例

(1)打開淘寶網,輸入投影儀,得到商品信息頁面

(2)打開網頁源代碼,查看輸入投影儀后的搜索框位置如下圖,確定位置,為后續輸入關鍵字做準備

Python怎么抓取淘寶商品信息

(3)有時在你點擊搜索后,淘寶強制需要登錄網頁,就需要再次查看輸入賬號和密碼的位置,然后同理操作進入網頁,在此不再贅述,直接上代碼如下

Python怎么抓取淘寶商品信息

(4)接下來要模擬翻頁操作,同理也是找到翻頁位置:下一頁,如下圖

Python怎么抓取淘寶商品信息

(5)此時頁面上有的信息都可以嘗試查看,舉例如付款人數、價錢等都可以嘗試測試看看。

Python怎么抓取淘寶商品信息(6)最后數據存儲數據庫就可以了,詳細入庫代碼見詳細代碼部分

詳細代碼如下:

from selenium import webdriverfrom lxml import etreeimport timeimport pymysql
db = pymysql.connect(host='localhost', user='root', passwd='數據庫密碼', db='數據庫名稱', port=3306, charset='utf8')print("數據庫連接")cursor = db.cursor()cursor.execute("DROP TABLE IF EXISTS Learn_data.taobao_touyingyi_data")sql = """CREATE TABLE IF not EXISTS Learn_data.taobao_touyingyi_data (    id int auto_increment primary key,    price CHAR(100),    sell CHAR(100),    detail CHAR(100))DEFAULT CHARSET=utf8"""cursor.execute(sql)
driver=webdriver.Chrome()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="items"]/div[@class="item J_MouserOnverReq  "]')    for info in infos:        price = info.xpath('div[2]/div/div/strong/text()')[0]        sell = info.xpath('div[2]/div/div[2]/text()')[0]        detail = info.xpath('div[2]/div/div[2]/text()')[1]
       print(price,sell,detail)
       cursor.execute("insert into taobao_touyingyi_data (price,sell,detail)values(%s,%s,%s)",(str(price),str(sell),str(detail)))
   if page<=1:        NextPage(url,page)    else:        passdef NextPage(url,page):    print(url)    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()
    driver.find_element_by_id("fm-login-id").send_keys("賬號")    # 找到按鈕的位置    time.sleep(1)    # 找到密碼的位置    driver.find_element_by_id("fm-login-password").send_keys("密碼")    # 確保賬號和密碼輸入完成    time.sleep(3)    # 識別驗證碼    # 找到圖片地址    ret = driver.find_element_by_class_name("fm-button")    # 點擊按鈕    ret.click()    time.sleep(3)    print(driver.current_url)    get_info(driver.current_url,page)    db.commit()

運行數據庫結果如下:

Python怎么抓取淘寶商品信息

到此,關于“Python怎么抓取淘寶商品信息”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

烟台市| 武城县| 柘荣县| 德兴市| 唐海县| 毕节市| 托克托县| 饶平县| 库车县| 尤溪县| 广安市| 贺兰县| 长春市| 通州市| 湖口县| 南漳县| 海阳市| 太湖县| 上杭县| 房产| 汉阴县| 陆良县| 汕尾市| 长泰县| 唐海县| 鹤庆县| 金溪县| 射阳县| 明星| 都匀市| 宜春市| 台中市| 宜昌市| 贵州省| 万荣县| 郧西县| 砚山县| 维西| 枞阳县| 广水市| 青神县|