python 淘寶爬蟲小實(shí)例
兄弟們,雙十一剁手了嗎?購物雖快樂,但是別過度了,畢竟很多降價(jià)不是真的降價(jià),眼睛擦亮了~

今天來試試爬一下某寶,這玩意學(xué)會(huì)了做外包的話,還是值幾個(gè)錢的。

環(huán)境/模塊介紹
python 3.8 使用的環(huán)境
pycharm 使用的編輯器
selenium 瀏覽器驅(qū)動(dòng)的第三方模塊
csv 數(shù)據(jù)保存的模塊
time 時(shí)間模塊, 可以用于程序的延遲
random 隨機(jī)數(shù)模塊
下載操作瀏覽器驅(qū)動(dòng)的第三方模塊
對(duì)應(yīng)視頻教程:
Python:雙十火熱進(jìn)行中,教你帶你用Python繼續(xù)剁手
selenium pip install selenium
解釋我基本都寫在注釋了,我就偷個(gè)懶不在寫了。
from selenium import webdriver
import time # 時(shí)間模塊, 可以用于程序的延遲
import random # 隨機(jī)數(shù)模塊
from constants import TAO_USERNAME1, TAO_PASSWORD1
import csv # 數(shù)據(jù)保存的模塊
def search_product(keyword):
"""搜索商品數(shù)據(jù), 登錄用戶"""
driver.find_element_by_xpath('//*[@id="q"]').send_keys(keyword)
time.sleep(random.randint(1, 3)) # 盡量避免人機(jī)檢測(cè) 隨機(jī)延遲
driver.f
def parse_data():
"""解析商品數(shù)據(jù)"""
divs = driver.find_elements_by_xpath('//div[@class="grid g-clearfx"]/div/div') # 所有的div標(biāo)簽
for div in divs:
try:
info = div.find_element_by_xpath('.//div[@class="row row-2 title"]/a').text
price = div.find_element_by_xpath('.//strong').text + '元'
deal = div.find_element_by_xpath('.//div[@class="deal-cnt"]').text
name = div.find_element_by_xpath('.//div[@class="shop"]/a/span[2]').text
location = div.find_element_by_xpath('.//div[@class="location"]').te'.//div[@class="pic"]/a').get_attribute('href')
print(info, price, deal, name, location, detail_url)
# 保存
with open('某寶.csv', mode='a', encoding='utf-8', newline='') as f:
csv_write = csv.writer(f)
csv_write.writerow([info, price, deal, name, location, detail_url])
except:
continue
word = input('請(qǐng)輸入你要搜索商品的關(guān)鍵字:')
# 創(chuàng)建一個(gè)瀏覽器
driver = webdriver.Chrome()
# selenium操作的瀏覽器被識(shí)別了, 無法登錄
# 修改瀏覽器的部分屬性, 繞過檢測(cè)
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument",
{"source": """Object.defineProperty(navigator, 'webdriver', {get: () => false})"""})
# 執(zhí)行自動(dòng)化瀏覽器的操作
driver.get('https://www.taobao.com/')
driver.implicitly_wait(10) # 設(shè)置瀏覽器的等待,加載數(shù)據(jù)
driver.maximize_window() # 最大化瀏覽器
# 調(diào)用商品搜索的函數(shù)
search_product(word)
for page in range(100): # 012
print(f'\n==================正在抓取第{page + 1}頁數(shù)據(jù)====================')
url = f'https://s.taobao.com/search?q=%E5%B7%B4%E9%BB%8E%E4%B8%96%E5%AE%B6&s={page * 44}'
# 解析商品數(shù)據(jù)
parse_data()
time.sleep(random.randint(1, 3)) # 盡量避免人機(jī)檢測(cè) 隨機(jī)延遲
兄弟們快去試試吧!Python學(xué)習(xí)視頻,解答,電子書都可以私信我領(lǐng)取
到此這篇關(guān)于python 淘寶爬蟲小實(shí)例的文章就介紹到這了,更多相關(guān)python 淘寶爬蟲內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python如何使用logging為Flask增加logid
這篇文章主要介紹了Python如何使用logging為Flask增加logid,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03
20個(gè)Python中正則表達(dá)式的應(yīng)用與技巧小結(jié)
正則表達(dá)式是一種用來匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,本文我們將探討?Python?中?re?模塊的應(yīng)用和一些技巧,希望可以幫助您更好地理解和利用正則表達(dá)式2024-04-04
PyQt5 QThread倒計(jì)時(shí)功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了PyQt5 QThread倒計(jì)時(shí)功能的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
如何用scheduler實(shí)現(xiàn)learning-rate學(xué)習(xí)率動(dòng)態(tài)變化
這篇文章主要介紹了如何用scheduler實(shí)現(xiàn)learning-rate學(xué)習(xí)率動(dòng)態(tài)變化問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
對(duì)Python3.x版本print函數(shù)左右對(duì)齊詳解
今天小編就為大家分享一篇對(duì)Python3.x版本print函數(shù)左右對(duì)齊詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12

