Python爬取京東商品

2021-09-26 01:27:16 字數 1871 閱讀 5861

自動開啟京東首頁,並輸入你要搜尋的東西,進入介面進行爬取資訊

from selenium import webdriver

import time

''''''

class jdspider(object):

def __init__(self):

self.browser=webdriver.chrome()

self.url=''

self.i=0

#獲取商品

def get_page(self):

#開啟京東

self.browser.get(self.url)

#找兩個節點

self.browser.find_element_by_xpath('//*[@id="key"]').send_keys('python書籍')

self.browser.find_element_by_xpath('//*[@id="search"]/div/div[2]/button').click()

#留出時間給頁面載入

time.sleep(2)

#解析頁面

def parse_page(self):

# 把下拉列表拉到底部,執行js指令碼

self.browser.execute_script(

'window.scrollto(0,document.body.scrollheight)'

)time.sleep(2)

#匹配所有商品節點對像列表

li_list=self.browser.find_elements_by_xpath('//*[@id="j_goodslist"]/ul/li')

for li in li_list:

info = li.text.split('\n')

if info[0].startswith('每滿'):

price=info[1]

name=info[2]

number=info[3]

market=info[4]

elif info[0]=='單價':

price = info[3]

name = info[4]

number = info[5]

market = info[6]

elif info[0].startswith('¥') and info[1].startswith('¥'):

price = info[0]

name = info[2]

number = info[3]

market = info[4]

else:

price = info[0]

name = info[1]

number = info[2]

market = info[3]

print(price,number,market,name)

self.i += 1

def main(self):

self.get_page()

while true:

self.parse_page()

#判斷是否為最後一頁

if self.browser.page_source.find('pn-next disabled')==-1:

self.browser.find_element_by_class_name('pn-next').click()

time.sleep(3)

else:

break

print(self.i)

if __name__ == '__main__':

spider=jdspider()

spider.main()

python京東商品 Python爬取京東商品資料

對京東某一商品資訊頁面的html 進行分析。能夠發現它的圖書產品資訊頁面都含有這樣一段 不同類的商品頁面有些不同 window.pageconfig 顯然這就是我們須要的商品資訊,python 例如以下 import json import re import urllib for i in ran...

爬取京東商品

一 進入京東主頁 二 進入商品詳情頁 2 商品名稱 3 商品 from selenium import webdriver 用來驅動瀏覽器的 相當於模擬人的點選事件來連續的訪問瀏覽器 from selenium.webdriver import actionchains 破解滑動驗證碼的時候用的 可...

爬取京東商品(js)

from selenium import webdriver import csv import time 1.接收要搜尋的商品型別,開啟商品搜尋頁面 pro input 請輸入商品名稱 driver webdriver.chrome driver.get driver.find element b...