爬蟲小專案 京東月餅銷量分析

2021-10-09 21:06:44 字數 2256 閱讀 9585

月餅銷量資料分析

開發環境

python3.7

pycharm

selenium

csv

開發工具

selenium工具的使用

結構化的資料解析

csv資料儲存(相容性)

程式流程

import csv

import time

from selenium import webdriver

'''下面的**,都是使用者行為去決定的,

你平常怎麼瀏覽, 你的**邏輯,就應該怎麼編寫,

'''def get_product(key):

"""搜尋商品的功能

:send_key 關鍵字, 比如(月餅)

"""driver.find_element_by_css_selector('#key').send_keys(key)

driver.find_element_by_css_selector('.button').click()

# 進入頁面(需要載入《耗時》)

driver.implicitly_wait(10) # 隱式等待(彈性等待)----》死等

driver.maximize_window() # 視窗最大化,

# 懶載入-- 根據滑鼠滾動,

def drop_down():

"""模擬人去滾動滑鼠, 載入所有資料

:return:

"""for x in range(1,11,2):

time.sleep(0.5)

# 分為5個部分

j = x/10

js = 'document.documentelement.scrolltop = document.documentelement.scrollheight * %f' % j

driver.execute_script(js)

def parse_product():

"""解析商品資料

:return:

"""# 多個標籤用find_elements_by_css_selector()

lis = driver.find_elements_by_css_selector('.gl-item')

try:

for li in lis:

name = li.find_element_by_css_selector('div.p-name a em').text # 商品名字

price = li.find_element_by_css_selector('div.p-price strong i').text + '元' # 商品**

deal = li.find_element_by_css_selector('div.p-commit strong a').text # 商品評價

title = li.find_element_by_css_selector('span.j_im_icon a').text # 商鋪名字

print("%s\n %s\n %s\n %s\n" % (name,price,deal,title))

# 寫入data.csv檔案

with open("data.csv", "a", encoding="utf-8", newline='') as f:

csv_write = csv.writer(f)

csv_write.writerow([name,price,deal,title])

except exception as e:

print(e)

def get_next():

driver.find_element_by_css_selector('#j_bottompage > span.p-num > a.pn-next').click()

driver.implicitly_wait(10)

if __name__ == '__main__':

"""程式入口"""

keywords = input("請輸入你想要的商品。。")

driver = webdriver.chrome() # 建立乙個瀏覽器物件

driver.get("")

get_product(keywords)

# 取3頁資料

for i in range(3):

drop_down()

parse_product()

get_next()

通過資料視覺化檔案,形成點狀圖,商家即可分析資料

爬蟲小專案

將爬取到的資料儲存在csv檔案中 由於習慣 作者會將獲取到的資料儲存 然後在儲存的檔案中進行匹配 這樣會降低程式執行時間 import requests from lxml import html from bs4 import beautifulsoup url headers res reque...

4月的小專案總結

月初接了乙個小的php專案,今天終於完成。甲方是老客戶,而且將來的維護也要我來做。所以我給的 也比較優惠。自己定的計畫是9 12個工作日完成,甲方要求一星期完成。雖然在既有 上修改,是個二次開發,但是對方交接的時候除了密碼之外一概沒有。我想努努力應該可以吧。結果。晚了5天!總結 沒有估計好時間。一次...

python2 7爬蟲實戰小專案

爬蟲原理和思想 本專案實現的基本目標 在捧腹網中,把搞笑的都爬下來,注意不需要爬取頭像的,同時,將命好名放在當前的img檔案中。爬蟲原理和思想 爬蟲涉及到額度基本知識 1 導入庫 模組 該 是用於讀取網頁 exp 使用urllib.urlopen 開啟捧腹網 使用read 讀取,如 比較龐大,也可以...