您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“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)器
受害目標(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ù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(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)容。