国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

京東關鍵詞搜索商品列表的Python實戰

? 來源:jf_57394773 ? 作者:jf_57394773 ? 2026-01-09 10:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、實現思路分析

URL 構造:京東搜索 URL 格式為 https://search.jd.com/Search?keyword=關鍵詞&page=頁碼(page 為奇數,如 1、3、5 對應第 1、2、3 頁)。

反爬處理模擬瀏覽器請求(設置 User-Agent、Cookie)、控制請求頻率(添加延遲)。

頁面解析:京東商品列表的核心信息(標題、價格、鏈接、店鋪)嵌在 HTML 中,用 BeautifulSoup 解析。

數據保存:將爬取的信息保存為 CSV 文件,方便后續查看。

二、實戰代碼實現

1. 安裝依賴庫

首先在終端執行以下命令安裝所需庫:

bash

運行

pip install requests beautifulsoup4 fake-useragent pandas

2. 完整爬蟲代碼

python

運行

import requests
from bs4 import BeautifulSoup
import time
import random
from fake_useragent import UserAgent
import pandas as pd

class JdSpider:
    def __init__(self, keyword, page_num=3):
        # 初始化參數
        self.keyword = keyword  # 搜索關鍵詞
        self.page_num = page_num  # 要爬取的頁數
        self.headers = self._get_headers()  # 請求頭
        self.data_list = []  # 存儲爬取的商品數據

    def _get_headers(self):
        """構造請求頭,模擬瀏覽器訪問"""
        # 注意:Cookie需要替換成你自己的(從瀏覽器開發者工具中復制)
        cookie = "你的京東Cookie"  # 替換成真實Cookie!!!
        ua = UserAgent()
        headers = {
            "User-Agent": ua.random,  # 隨機生成User-Agent
            "Cookie": cookie,
            "Referer": "https://www.jd.com/",
            "Accept-Language": "zh-CN,zh;q=0.9",
            "Connection": "keep-alive"
        }
        return headers

    def _get_page_url(self, page):
        """構造指定頁碼的搜索URL"""
        # 京東的page參數:第1頁=1,第2頁=3,第3頁=5,以此類推
        jd_page = page * 2 - 1
        url = f"https://search.jd.com/Search?keyword={self.keyword}&page={jd_page}&enc=utf8"
        return url

    def _parse_page(self, html):
        """解析頁面,提取商品信息"""
        soup = BeautifulSoup(html, "html.parser")
        # 找到所有商品項
        items = soup.find_all("li", class_="gl-item")
        
        for item in items:
            try:
                # 1. 商品價格
                price_elem = item.find("div", class_="p-price")
                price = price_elem.find("i").text if price_elem else "無價格"
                
                # 2. 商品標題
                title_elem = item.find("div", class_="p-name p-name-type-2")
                title = title_elem.find("em").text.strip() if title_elem else "無標題"
                
                # 3. 商品鏈接
                link_elem = item.find("a", class_="J_ClickStat")
                link = "https:" + link_elem["href"] if link_elem else "無鏈接"
                
                # 4. 店鋪名稱
                shop_elem = item.find("div", class_="p-shop")
                shop = shop_elem.find("a").text.strip() if shop_elem else "無店鋪"
                
                # 存儲數據
                self.data_list.append({
                    "標題": title,
                    "價格": price,
                    "鏈接": link,
                    "店鋪": shop
                })
            except Exception as e:
                print(f"解析單個商品失敗:{e}")
                continue

    def run(self):
        """爬蟲主邏輯"""
        print(f"開始爬取京東關鍵詞【{self.keyword}】的商品信息,共{self.page_num}頁...")
        
        for page in range(1, self.page_num + 1):
            try:
                # 1. 構造URL
                url = self._get_page_url(page)
                # 2. 發送請求
                response = requests.get(url, headers=self.headers, timeout=10)
                response.encoding = "utf-8"  # 設置編碼
                # 3. 解析頁面
                self._parse_page(response.text)
                # 4. 打印進度
                print(f"第{page}頁爬取完成,已獲取{len(self.data_list)}條商品數據")
                # 5. 隨機延遲(2-5秒),避免高頻請求被封
                time.sleep(random.randint(2, 5))
                
            except Exception as e:
                print(f"第{page}頁爬取失敗:{e}")
                continue
        
        # 保存數據到CSV
        if self.data_list:
            df = pd.DataFrame(self.data_list)
            df.to_csv(f"京東_{self.keyword}_商品列表.csv", index=False, encoding="utf-8-sig")
            print(f"數據保存完成!文件名為:京東_{self.keyword}_商品列表.csv")
        else:
            print("未爬取到任何商品數據!")

if __name__ == "__main__":
    # 示例:爬取關鍵詞"Python編程"的前3頁商品
    spider = JdSpider(keyword="Python編程", page_num=3)
    spider.run()

三、關鍵部分解釋

Cookie 獲取方法

打開瀏覽器訪問京東(登錄后),按 F12 打開開發者工具 → 切換到 Network 標簽 → 刷新搜索頁面 → 找到第一個請求(Search?keyword=...)→ 在 Request Headers 中復制 Cookie 值,替換代碼中的你的京東Cookie。

請求頭構造

使用fake-useragent隨機生成 User-Agent,避免固定 UA 被識別為爬蟲;

添加 Referer、Cookie 等字段,模擬真實用戶的請求特征。

頁面解析邏輯

通過BeautifulSoup定位商品項(li.gl-item),再分別提取價格(div.p-price)、標題(div.p-name)、鏈接(a.J_ClickStat)、店鋪(div.p-shop);

加入異常處理,避免單個商品解析失敗導致整個頁面爬取中斷。

反爬措施

隨機延遲(2-5 秒):避免短時間內發送大量請求;

模擬瀏覽器請求頭:降低被反爬機制識別的概率;

分頁爬取:控制爬取頁數,避免一次性爬取過多數據。

四、測試與注意事項

運行代碼:替換 Cookie 后,直接運行代碼,會在當前目錄生成 CSV 文件,包含商品標題、價格、鏈接、店鋪信息。

重要注意事項

京東的反爬機制會更新,若 HTML 結構變化,需重新檢查元素調整解析規則;

不要爬取過多數據 / 過快,否則可能被封 IP 或賬號;

該爬蟲僅用于學習,請勿用于商業用途,遵守京東的 robots 協議。

總結

京東商品列表爬蟲的核心是構造正確的 URL + 模擬瀏覽器請求(Cookie/UA) + 解析 HTML 提取數據

反爬的關鍵是控制請求頻率、偽裝請求特征,避免被京東的反爬系統識別;

數據解析時需加入異常處理,保證爬蟲的穩定性,最后將數據保存為 CSV 方便后續使用。


審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    2371

    瀏覽量

    66772
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90032
  • 京東
    +關注

    關注

    2

    文章

    1108

    瀏覽量

    50077
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    從踩坑到高效落地:關鍵詞搜索淘寶天貓商品列表 API 的實操心得

    從踩坑到高效落地:關鍵詞搜索淘寶天貓商品列表 API 的實操心得 (適合做:選品、比價、代購集運、店鋪上貨、數據分析、返利工具的同學直接落地) 一、開篇:為什么 90% 的人都會卡在「
    的頭像 發表于 02-28 14:22 ?1368次閱讀

    關鍵詞搜索京東列表 API 技術對接指南

    一、前言 在電商數據服務、代購集運系統搭建、電商平臺競品分析、自有商城商品同步等業務場景中,京東商品列表的精準、實時獲取是核心環節之一。 二、接口概述
    的頭像 發表于 02-05 16:36 ?364次閱讀

    野莓平臺關鍵詞商品搜索API接口使用指南

    的設計、使用方法及最佳實踐,幫助您高效集成到應用中。 1. API接口概述 野莓關鍵詞商品搜索API是一個RESTful接口,基于HTTP GET方法實現。它允許用戶輸入關鍵詞(如“野
    的頭像 發表于 02-04 16:48 ?510次閱讀
    野莓平臺<b class='flag-5'>關鍵詞</b><b class='flag-5'>商品</b><b class='flag-5'>搜索</b>API接口使用指南

    京東關鍵詞的應用

    京東關鍵詞應用核心是圍繞搜索匹配與流量獲取,貫穿商品上架、搜索優化、付費推廣、精細化運營等全鏈路,以精準匹配用戶需求、提升排名與轉化為目標。以下是具體應用與實操方法: 一、
    的頭像 發表于 01-20 09:05 ?515次閱讀

    接入京東關鍵詞API的核心利弊分析

    接入京東關鍵詞API的核心價值在于通過官方合規的數據能力,驅動電商運營的精細化與自動化,但同時也存在接入門檻、成本投入及合規約束等潛在問題。以下從“利”“弊”兩大維度展開詳細分析,并給出平衡策略,為
    的頭像 發表于 01-14 15:39 ?224次閱讀

    使用京東關鍵詞搜索接口獲取商品數據的實操指南

    一、接口接入前期準備 使用京東關鍵詞搜索接口前,需完成京東開放平臺的賬號認證、應用創建及權限申請,這是獲取合法調用資格的基礎,也是保障接口穩定調用的前提。 (一)注冊并認證開發者賬號 1. 訪問
    的頭像 發表于 01-12 11:46 ?345次閱讀

    京東關鍵詞API接口獲取

    你想要獲取京東關鍵詞相關的 API 接口,以此替代傳統爬蟲,更合規、穩定地獲取商品列表等信息,我會先講解 官方合規的 API 獲取與使用方式 (推薦),再說明非官方接口的情況(僅供學習),并給出
    的頭像 發表于 01-09 14:16 ?360次閱讀

    京東關鍵詞 API 場景的需求梳理模板

    京東關鍵詞 API 場景需求梳理模板 本模板適用于 聯盟推廣、商家運營、工具開發、市場分析 等基于京東關鍵詞 API 的業務需求梳理,可直接用于需求文檔撰寫、API 對接方案評審。 核心模塊 填寫項
    的頭像 發表于 01-08 13:45 ?163次閱讀

    京東關鍵詞的應用場景

    京東關鍵詞在 API 層面的應用,是串聯 商品檢索、數據運營、商業決策、工具開發 的核心紐帶,結合京東開放平臺 API(如商品查詢、聯盟推廣、數據統計類接口),其應用場景覆蓋電商全鏈路
    的頭像 發表于 01-08 13:38 ?463次閱讀

    京東關鍵詞搜索接口獲取商品數據的實操指南

    京東關鍵詞搜索接口獲取商品數據 實操指南 本指南聚焦 京東開放平臺合規接口 (item_search基礎版 / item_search_pro增強版),提供 從賬號準備→接口調用→數據
    的頭像 發表于 01-07 13:56 ?279次閱讀

    京東關鍵詞API賦能

    的「關鍵詞搜索數據」轉化為選品、運營、競品監控、定價策略的決策依據,實現從 “經驗驅動” 到 “數據驅動” 的業務升級。結合電商技術開發、運營優化的實際需求,本文從 四大核心賦能場景、實戰落地流程、進階升級方案 三個維度,拆解
    的頭像 發表于 01-07 09:53 ?524次閱讀

    京東關鍵詞item_search-按關鍵搜索京東商品

    京東關鍵詞搜索(item_search)技術實現指南:合規 API 調用 + 數據運營實戰 京東商品關鍵
    的頭像 發表于 01-06 09:27 ?855次閱讀

    淺談京東關鍵詞

    格式的字符串)。 關鍵詞搜索結果的關聯性 :關鍵詞的精準度決定爬取結果的相關性,京東搜索會對關鍵詞
    的頭像 發表于 01-04 10:40 ?665次閱讀

    京東關鍵詞搜索商品列表Python爬蟲實戰

    京東關鍵詞搜索商品列表 Python 爬蟲實戰 你想要實現
    的頭像 發表于 01-04 10:16 ?737次閱讀

    搜索關鍵詞獲取商品詳情接口的設計與實現

    原理、設計、代碼實現和優化。內容基于真實開發實踐,確保技術可靠性。 1. 接口需求與原理 用戶輸入關鍵詞(如“智能手機”),接口需返回匹配的商品列表,每個商品包含ID、名稱、價格、描述
    的頭像 發表于 10-20 15:37 ?509次閱讀
    <b class='flag-5'>搜索</b><b class='flag-5'>關鍵詞</b>獲取<b class='flag-5'>商品</b>詳情接口的設計與實現