A專案之一 selenium爬取某寶資料

2021-10-09 04:12:21 字數 2559 閱讀 4194

匯入必要的庫

from selenium import webdriver

import time

import re

模擬進入**頁面
driver=webdriver.chrome(

)# 這裡選用chrome瀏覽器

)

搜尋商品,獲取商品目錄的頁碼數
def

search()

: driver.find_element_by_id(

'q')

.send_keys(

'口紅'

)#往搜尋框輸入搜尋商品名稱

driver.find_element_by_class_name(

'btn-search'

).click(

) time.sleep(50)

token=driver.find_element_by_xpath(

'//*[@id="mainsrp-pager"]/div/div/div/div[1]'

).text #找到商品目錄的頁數的相關文字

token=

int(re.

compile

('\d+'

).search(token)

.group(0)

)#獲取商品目錄的頁數

return token

模擬下拉
def

drop_down()

:for x in

range(1

,11,2

):time.sleep(

0.5)

j=x/

10# 滑到的位置

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

% j driver.execute_script(js)

模擬獲取每一頁的商品資訊
def

get_product()

: divs = driver.find_elements_by_xpath(

'//div[@class="items"]/div[@class="item j_mouseronverreq "]'

)# div class="items"下的div class="item j_mouseronverreq"

# 返回乙個列表,列表元素為div class="item j_mouseronverreq"的明細

for div in divs:

data=

#以下是當前目錄下div class 屬性

info = div.find_element_by_xpath(

'.//div[@class="row row-2 title"]'

).text

# 付款金額

price = div.find_element_by_xpath(

'.//div[@class="price g_price g_price-highlight"]/strong'

).text+

'元'# 付款人數(銷售數)

number = div.find_element_by_xpath(

'.//div[@class="deal-cnt"]'

).text

location = div.find_element_by_xpath(

'.//div[@class="location"]'

).text

img= div.find_element_by_xpath(

'.//div[@class="pic"]/a/img'

).get_attribute(

'src'

)

return datas

# datas 是乙個大列表,裡面的每個小列表代表乙個商品的資料資訊

模擬翻頁
def

next_page()

: token=search(

) num=

0while num !=token-1:

driver.get(

'口紅&s={}'

.format(44

*num)

) driver.implicitly_wait(20)

#20秒內(不一定是20秒)

num+=

1 drop_down(

) alldata=get_product(

)return alldata

呼叫函式,開始爬取資訊
if __name__==

'__main__'

: datas=

alldata=next_page(

)print

(alldata)

selenium 爬取拉勾

用到的知識點 用selenium爬取拉勾 from lxml import etree from selenium import webdriver from selenium.webdriver.support import expected conditions as ec from selen...

selenium爬取拉勾

用到的知識點 用selenium爬取拉勾 from lxml import etree from selenium import webdriver from selenium.webdriver.support import expected conditions as ec from selen...

selenium爬取京東商品

from selenium import webdriver import time import pandas as pd url browser webdriver.chrome browser.get url 找到頁面中的搜尋框,然後輸入想找的商品 browser.find element b...