淘寶不登錄不讓搜索解決方法

一、 前言

很多淘寶的用戶發現在搜索某些商品的時候,淘寶會要求用戶登錄。這樣就十分麻煩,因為用戶需要先登錄才能繼續搜索。

下面將從多個方面講解淘寶不登錄不讓搜索解決方法,並且給出對應的代碼示例。

二、 修改URL鏈接

在淘寶搜索商品時,每個鏈接都會包含很多參數,其中一個參數為“islogin” 。我們可以嘗試在URL鏈接裡面添加這個參數以達到搜索不登錄的目的。

https://s.taobao.com/search?q=xxx&islogin=false

其中xxx為搜索的商品名稱。得到這個URL鏈接後,就能夠實現不登錄搜索商品。下面是完整的代碼示例:

    # 安裝requests和bs4庫
    import requests
    from bs4 import BeautifulSoup

    headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"}
    url = "https://s.taobao.com/search?q=xxx&islogin=false"
    res = requests.get(url, headers=headers)
    soup = BeautifulSoup(res.text, 'html.parser')

    # 進行解析數據的代碼

三、 使用無頭瀏覽器

淘寶搜索頁面的登錄驗證是通過JavaScript來實現的,因此我們可以使用selenium和無頭瀏覽器模擬登錄來破解。下面是完整的代碼示例:

    # 安裝selenium,chromedriver庫
    from selenium import webdriver
    import time

    options = webdriver.ChromeOptions()
    options.add_argument('headless')
    options.add_argument('User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3')
    driver = webdriver.Chrome(chrome_options=options)

    driver.get('https://login.taobao.com/member/login.jhtml')
    time.sleep(1)

    # 輸入用戶名和密碼登錄
    driver.find_element_by_id("TPL_username_1").send_keys("xxxxx")
    driver.find_element_by_id("TPL_password_1").send_keys("xxxxx")
    driver.find_element_by_id("J_SubmitStatic").click()

    # 等待直到登錄成功
    while True:
        try:
            driver.get('https://www.taobao.com/')
            text = driver.find_element_by_class_name('site-nav-login-info-nick').text
            print("登錄成功用戶名:", text)
            break
        except:
            pass

    # 進行搜索商品的代碼

四、 使用Cookie繞過驗證

淘寶的登錄驗證是通過Cookie實現的,因此我們可以通過在Cookie中添加一部分信息模擬登錄狀態。下面是完整的代碼示例:

    # 安裝requests和bs4庫
    import requests
    from bs4 import BeautifulSoup

    url = 'https://s.taobao.com/search?q=xxx'

    # 添加登錄後的cookie,其中"_m_h5_tk"和"_m_h5_tk_enc"為淘寶的加密參數,需要進行相應修改
    headers = {
        'cookie': '_m_h5_tk=xxx; _m_h5_tk_enc=xxxxxx; cookie2=xxxx; t=xxxxx'}
    res = requests.get(url, headers=headers)
    soup = BeautifulSoup(res.text, 'html.parser')

    # 進行解析數據的代碼

五、 利用淘寶API

淘寶提供了多個API供開發者使用。其中有一個API為淘寶客API,可以實現搜索商品的功能。淘寶客API是服務於淘寶客推廣者開發的API接口,支持聯盟搜索、商品詳情查詢、商品轉鏈、訂單查詢等多種功能。下面是完整的代碼示例:

    # 安裝request和json庫
    import requests
    import json

    url = 'http://gw.api.taobao.com/router/rest'
    appkey = 'xxxxxxxxxx'  # 淘寶的appkey
    secret = 'xxxxxxxxxx'  # 淘寶的appsecret
    method = 'taobao.tbk.item.get'  # API的方法名

    # 具體參數請按照自己的需求進行修改
    data = {'app_key': appkey, 'method': method, 'format': 'json', 'v': '2.0',
            'sign_method': 'hmac', 'adzone_id': 'xxxx', 'cat': 'xxxx',
            'keyword': 'xxx', 'page_no': '1', 'page_size': '10', 'sort': 'total_sales_des'}

    data['sign'] = get_sign(data, secret)  # 獲取簽名
    response = requests.get(url, params=data)
    response = json.loads(response.content)

    # 進行解析數據的代碼

六、 結語

以上就是4種不登錄搜索淘寶商品的方法,分別是修改URL鏈接、使用無頭瀏覽器、使用cookie繞過驗證和利用淘寶API。不同的方法適用於不同的場景,大家可以根據自己的需求進行選擇使用。

原創文章,作者:SZSRM,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/332959.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SZSRM的頭像SZSRM
上一篇 2025-01-27 13:34
下一篇 2025-01-27 13:34

相關推薦

發表回復

登錄後才能評論