Jump to content

Recommended Posts

Tình hình mình đang lấy danh sách sản phẩm của shopee nhưng đang gặp 1 vấn đề là request gửi lên cần thêm vào headers trường "if-none-match-" nếu ko request sẽ không hoạt động được hoặc là lấy dữ liệu không đủ cũng như không đúng.

- Ảnh dưới là dữ liệu "if-none-match-" đúng thì nó trả về số lượng sản phẩm đúng với shop mà mình cần lấy dữ liệu

spacer.png

- Ảnh dưới là dữ liệu "if-none-match-" sai thì nó trả về số lượng sản phẩm sai so với số lượng sản phẩm thật của shop mà mình cần lấy dữ liệu, ngoài ra "if-none-match-" này đi các shop khác thì không thể lấy dữ liệu nữa mà nó trống không luôn

spacer.png

Thông tin để test Postman:

https://shopee.vn/api/v2/search_items/?by=pop&limit=30&match_id=171471684&newest=0&order=desc&page_type=shop&version=2
header:
if-none-match-:55b03-fa68d182b291579e2cbcc59221c86da0
user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36

Thành viên mới mong mọi người giúp đỡ

P/s Mình sử dụng nên tảng nodejs

Share this post


Link to post
Share on other sites

On 29/8/2020 at 15:55, Tường Minh said:

Tình hình mình đang lấy danh sách sản phẩm của shopee nhưng đang gặp 1 vấn đề là request gửi lên cần thêm vào headers trường "if-none-match-" nếu ko request sẽ không hoạt động được hoặc là lấy dữ liệu không đủ cũng như không đúng.

- Ảnh dưới là dữ liệu "if-none-match-" đúng thì nó trả về số lượng sản phẩm đúng với shop mà mình cần lấy dữ liệu

spacer.png

- Ảnh dưới là dữ liệu "if-none-match-" sai thì nó trả về số lượng sản phẩm sai so với số lượng sản phẩm thật của shop mà mình cần lấy dữ liệu, ngoài ra "if-none-match-" này đi các shop khác thì không thể lấy dữ liệu nữa mà nó trống không luôn

spacer.png

Thông tin để test Postman:


https://shopee.vn/api/v2/search_items/?by=pop&limit=30&match_id=171471684&newest=0&order=desc&page_type=shop&version=2
header:
if-none-match-:55b03-fa68d182b291579e2cbcc59221c86da0
user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36

Thành viên mới mong mọi người giúp đỡ

P/s Mình sử dụng nên tảng nodejs

mình cũng gặp tình trạng như bạn.
cái chuỗi phía sau if-none-match-: 55b03-af4ea139617075b18fc3f53eb090a0e9 => af4ea139617075b18fc3f53eb090a0e9 : ko biết tạo từ đâu.

Share this post


Link to post
Share on other sites
import requests
import random
import hashlib

def random_str(length):
    character='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
    return ''.join((random.choice(character) for i in range(length)))

def encrypt_pass(password):
    sha_signature = \
        hashlib.sha256((hashlib.md5(password.encode()).hexdigest()).encode()).hexdigest()
    return sha_signature

def main():
    username = ''
    password = ''
    r = requests.Session()
    response = r.get('https://banhang.shopee.vn/api/v2/login')
    csrftoken_gen = random_str(32)
    cookie_string = "; ".join([str(x)+"="+str(y) for x,y in response.cookies.get_dict().items()])
    headers = {
        'user-agent'     : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36',
        'x-csrftoken'     : csrftoken_gen,
        'x-requested-with': 'XMLHttpRequest',
        'referer'         : 'https://shopee.vn',
        'cookie'          : "csrftoken=" + csrftoken_gen + "; " + cookie_string + "SPC_CDS=" + "1"
    } 
    url="https://shopee.vn/api/v2/authentication/login"
    response = r.request("POST",url,headers=headers, data = '{"username":"' + username + '","password":"' + encrypt_pass(password) + '","support_whats_app":true}')
    print(response.content)

if __name__ == '__main__':
    main()

Update login đơn giản bằng Python

Share this post


Link to post
Share on other sites
On 8/1/2019 at 2:39 PM, Thiên Chi Kiều Nữ said:

Hidden Content

  • Give reaction or reply to this topic to see the hidden content.

.

 

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...