溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python如何自動(dòng)化登錄網(wǎng)站并爬取商品數(shù)據(jù)

發(fā)布時(shí)間:2021-11-25 14:07:57 來(lái)源:億速云 閱讀:602 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要為大家展示了“Python如何自動(dòng)化登錄網(wǎng)站并爬取商品數(shù)據(jù)”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Python如何自動(dòng)化登錄網(wǎng)站并爬取商品數(shù)據(jù)”這篇文章吧。

適合閱讀人群:

  • selenium工具的使用

  • 結(jié)構(gòu)化的數(shù)據(jù)解析

  • csv數(shù)據(jù)保存

環(huán)境介紹:

  • python 3.6

  • pycharm

  • selenium

  • csv

  • time

selenium

起初是用來(lái)做網(wǎng)頁(yè)測(cè)試(性能\并發(fā)),可以直接獲取到瀏覽器渲染之后的數(shù)據(jù)(不用解密)

用戶(hù)行為和你代碼邏輯需要結(jié)合(你怎么操作瀏覽器)

谷歌驅(qū)動(dòng)器

Python如何自動(dòng)化登錄網(wǎng)站并爬取商品數(shù)據(jù)

受害目標(biāo)

https://www.jd.com/

部分代碼

from selenium import webdriver
import time
import csv

def parse_product():
    """解析商品數(shù)據(jù)"""
    lis = driver.find_elements_by_css_selector('.gl-warp.clearfix>li')
    for li in lis:
        try:
            name = li.find_element_by_css_selector('.p-name a em').text   # 商品的名字
            price = li.find_element_by_css_selector('.p-price strong i').text + '元'  # 商品的價(jià)格
            info = li.find_element_by_css_selector('.p-commit strong a').text   # 商品的評(píng)價(jià)數(shù)
            title = li.find_element_by_css_selector('.J_im_icon a').get_attribute('title')   # 商品的店鋪
            print(name, price, info, title)
            with open('data.csv', mode='a', encoding='utf-8', newline='') as f:
                f.write()
                csv_write = csv.writer(f, delimiter=',')
                csv_write.writerow([name, price, info, title])
        except Exception as e:
            print(e)

def get_next():
    """找到下一頁(yè)標(biāo)簽, 點(diǎn)擊"""
    driver.find_element_by_css_selector('#J_bottomPage > span.p-num > a.pn-next > em').click()
    driver.implicitly_wait(10)

keyword = input('請(qǐng)輸入你想要的搜索商品的關(guān)鍵字:')
driver = webdriver.Chrome()  # 創(chuàng)建一個(gè)瀏覽器對(duì)象
driver.get('https://www.jd.com/')
get_product(keyword)

for page in range(1, 101):
    drop_down()
    parse_product()
    get_next()

運(yùn)行代碼得到數(shù)據(jù)

Python如何自動(dòng)化登錄網(wǎng)站并爬取商品數(shù)據(jù)

以上是“Python如何自動(dòng)化登錄網(wǎng)站并爬取商品數(shù)據(jù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI