python爬取京東店鋪商品價格資料 已過期

2021-08-28 02:13:11 字數 1971 閱讀 6206

# -*- coding:utf-8 -*-

import requests

import re

import random

import time

import json

from requests.packages.urllib3.exceptions import insecurerequestwarning

import pandas as pd

requests.packages.urllib3.disable_warnings(insecurerequestwarning) ###禁止提醒ssl警告

class jd(object):

def __init__(self):

self.s = requests.session() ## 建立乙個session物件

headers =

self.s.headers.update(headers) ### 設定請求頭

def getpid(self,url,name,path):

self.shopid=re.search('index-(.*?).html',url).group(1) ###獲取店鋪id號

#searchurl=''+str(self.shopid)

t = int(time.time() * 1000) ###13位時間戳

searchurl = '' + str(t) ##請求資料**

headers=

self.s.headers.update(headers) ###更新請求頭

wareid_list=

wname_list=

jdprice_list=

for i in range(1,10000): ###爬取頁數範圍 沒有找到商品後會自動退出迴圈

time.sleep(random.random()) ##隨機延時0-1秒

##設定請求資料

data=

time.sleep(random.random()) ##隨機延時0-1秒 沒有這句可能會出錯

req=self.s.post(url=searchurl,data=data,verify=false).text ###獲取資料

print(req)

wareid=re.findall('"wareid":(.*?),',req) ##獲取商品id

wname=re.findall('"wname":"(.*?)",',req) ###獲取商品名稱

jdprice=re.findall('"jdprice":"(.*?)",',req) ###獲取商品**

if wareid==: ###如果沒有找到id退出迴圈

break

#####處理資料

wareid_list.extend(wareid)

wname_list.extend(wname)

jdprice_list.extend(jdprice)

wareid_l=len(wareid_list)

name_list=

name_list.extend(name_list*(wareid_l-1))

jddata=

df = pd.dataframe(data=jddata)

df.to_csv(path + r'\jdmall.csv', index=false, encoding="gb18030") ###儲存csv檔案

if __name__ == '__main__':

url='' ##店鋪位址

path = r'e:\jd\test' ###儲存路徑

jd=jd()

jd.getpid(url,'華碩',path) ###華碩 自定義備註的字段

京東**已更新,本帖**已無效!!

已更新:

Python爬取京東商品

自動開啟京東首頁,並輸入你要搜尋的東西,進入介面進行爬取資訊 from selenium import webdriver import time class jdspider object def init self self.browser webdriver.chrome self.url s...

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 破解滑動驗證碼的時候用的 可...