Thủ Thuật
  • TOP Thủ Thuật
    • Thủ Thuật Internet
    • Thủ Thuật Máy Tính
    • Thủ Thuật Tiện Ích
    • Thủ Thuật Phần Mềm
  • Chia Sẻ Kiến Thức
    • Học Excel
    • Học Word
    • Học Power Point
  • Games
  • Kênh Công Nghệ
  • Facebook
  • WordPress
  • SEO
No Result
View All Result
Thủ Thuật
  • TOP Thủ Thuật
    • Thủ Thuật Internet
    • Thủ Thuật Máy Tính
    • Thủ Thuật Tiện Ích
    • Thủ Thuật Phần Mềm
  • Chia Sẻ Kiến Thức
    • Học Excel
    • Học Word
    • Học Power Point
  • Games
  • Kênh Công Nghệ
  • Facebook
  • WordPress
  • SEO
No Result
View All Result
Thủ Thuật
No Result
View All Result
Home Chia Sẻ Kiến Thức Học Excel

Hướng dẫn Trích xuất Dữ liệu từ Website với GraphQL bằng Python

Hướng dẫn Trích xuất Dữ liệu từ Website với GraphQL bằng Python
6k
SHARES
19.5k
VIEWS
Share on Facebook

Nội Dung Bài Viết

Toggle
  • Tìm hiểu về GraphQL và Trích xuất Dữ liệu
  • Trích xuất Dữ liệu từ Axie.zone với Python
  • Giải thích Chi tiết Đoạn Mã
  • Kết Luận

Bài viết này hướng dẫn chi tiết cách trích xuất dữ liệu từ website sử dụng GraphQL với ngôn ngữ lập trình Python. Nội dung tập trung vào việc lấy dữ liệu từ trang Axie.zone, áp dụng kiến thức về Python và cơ chế tải dữ liệu web.

Bài viết này đòi hỏi kiến thức cơ bản về Python và cách website tải dữ liệu. Đảm bảo bạn đã nắm vững những kiến thức này để hiểu và áp dụng hiệu quả.

Mô tả ảnh Python codeMô tả ảnh Python code

Tìm hiểu về GraphQL và Trích xuất Dữ liệu

GraphQL là một ngôn ngữ truy vấn và thao tác dữ liệu cho API, cũng là một runtime server-side để thực hiện các truy vấn đó với dữ liệu hiện có. GraphQL được thiết kế để làm cho API nhanh hơn, linh hoạt hơn và thân thiện với nhà phát triển hơn so với REST.

Trích xuất Dữ liệu từ Axie.zone với Python

Mục tiêu của chúng ta là trích xuất dữ liệu từ Axie.zone. Dưới đây là đoạn mã Python hoàn chỉnh để thực hiện việc này. Đoạn mã này sử dụng thư viện requests để gửi yêu cầu POST đến GraphQL endpoint và thư viện json để xử lý dữ liệu JSON.

import requests
import json

url = "https://axieinfinity.com/graphql-server-v2/graphql"

payload = json.dumps({
  "operationName": "GetAxieBriefList",
  "query": "query GetAxieBriefList($auctionType: AuctionType, $criteria: AxieSearchCriteria, $from: Int, $sort: SortBy, $size: Int, $owner: String) { axies(auctionType: $auctionType, criteria: $criteria, from: $from, sort: $sort, size: $size, owner: $owner) {   total   results {     ...AxieBrief     __typename   }   __typename }       }       fragment AxieBrief on Axie { id name stage class breedCount image title genes battleInfo {   banned   __typename } auction {   currentPrice   currentPriceUSD   __typename } stats {   ...AxieStats   __typename } parts {   id   name   class   type   specialGenes   __typename } __typename       }            fragment AxieStats on AxieStats {        hp        speed        skill        morale __typename       }",
  "variables": {
    "auctionType": "Sale",
    "criteria": {
      "classes": [
        "Dusk"
      ],
      "parts": [
        "mouth-tiny-turtle",
        "mouth-tiny-carrot",
        "mouth-dango",
        "horn-lagging",
        "horn-laggingggggg",
        "back-snail-shell",
        "back-starry-shell",
        "tail-thorny-caterpillar",
        "tail-thorny-catterpilar"
      ],
      "hp": None,
      "speed": [
        46,
        61
      ],
      "skill": None,
      "morale": None,
      "breedCount": None,
      "pureness": [],
      "numMystic": [],
      "title": None,
      "region": None,
      "stages": [
        3,
        4
      ]
    },
    "from": 24,
    "size": 12,
    "sort": "PriceAsc",
    "owner": None
  }
})
headers = {
  'authority': 'axieinfinity.com',
  'sec-ch-ua': '"Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"',
  'accept': '*/*',
  'content-type': 'application/json',
  'sec-ch-ua-mobile': '?0',
  'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36',
  'sec-ch-ua-platform': '"macOS"',
  'origin': 'https://axie.zone',
  'sec-fetch-site': 'cross-site',
  'sec-fetch-mode': 'cors',
  'sec-fetch-dest': 'empty',
  'referer': 'https://axie.zone/',
  'accept-language': 'en-US,en;q=0.9,vi;q=0.8'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Giải thích Chi tiết Đoạn Mã

Đoạn mã trên thực hiện các bước sau:

  1. Import thư viện: requests để gửi HTTP request và json để làm việc với dữ liệu JSON.

  2. Định nghĩa URL: URL của GraphQL endpoint.

  3. Tạo Payload: Payload chứa câu truy vấn GraphQL và các biến cần thiết. Bạn có thể tùy chỉnh câu truy vấn và biến để lấy dữ liệu mong muốn.

  4. Định nghĩa Headers: Headers chứa thông tin về request, ví dụ như user-agent, content-type.

  5. Gửi Request: Sử dụng requests.request("POST", url, headers=headers, data=payload) để gửi yêu cầu POST đến GraphQL endpoint.

  6. In Kết Quả: In dữ liệu trả về từ server.

Xem thêm:  Nhập Dữ Liệu Từ Web Vào Power Query

Kết Luận

Bài viết đã hướng dẫn cách trích xuất dữ liệu từ website sử dụng GraphQL và Python. Hy vọng bài viết này hữu ích cho bạn. Hãy thử nghiệm và áp dụng cho dự án của mình.

Đánh Giá Bài Viết
Tuyết Nhi

Tuyết Nhi

Tôi là Tuyết Nhi - Nữ phóng viên trẻ đến từ Hà Nội. Với niềm đam mê công nghệ, khoa học kỹ thuật, tôi yêu thích và muốn chia sẻ đến mọi người những trải nghiệm, kinh nghiệm về các lĩnh vực công nghệ, kỹ thuật... Rất mong được quý độc giả đón nhận ❤️.

Related Posts

Chèn Nhiều Dòng Trống Cùng Lúc Trong Excel Chỉ Với Phím Tắt
Học Excel

Chèn Nhiều Dòng Trống Cùng Lúc Trong Excel Chỉ Với Phím Tắt

Hàm ROUND trong Excel: Hướng dẫn làm tròn số chi tiết
Học Excel

Hàm ROUND trong Excel: Hướng dẫn làm tròn số chi tiết

Xóa Ký Tự Trong Chuỗi Văn Bản Excel: Hướng Dẫn Chi Tiết
Học Excel

Xóa Ký Tự Trong Chuỗi Văn Bản Excel: Hướng Dẫn Chi Tiết

Hướng Dẫn Tạo Biểu Đồ Kết Hợp Trong Excel
Học Excel

Hướng Dẫn Tạo Biểu Đồ Kết Hợp Trong Excel

Discussion about this post

Trending.

Chia Sẻ Tài Khoản CapCut Pro Miễn Phí và Hướng Dẫn Nâng Cấp

Chia Sẻ Tài Khoản CapCut Pro Miễn Phí và Hướng Dẫn Nâng Cấp

Tải và Cài Đặt Phần Mềm Thiết Kế Thời Trang Lectra Modaris v7r2

Tải và Cài Đặt Phần Mềm Thiết Kế Thời Trang Lectra Modaris v7r2

Hướng Dẫn Tải Và Cài Đặt Foxit PhantomPDF Business (Full Crack)

Hướng Dẫn Tải Và Cài Đặt Foxit PhantomPDF Business (Full Crack)

Khám Phá Thế Giới 3D Cùng Super Bear Adventure MOD APK

Khám Phá Thế Giới 3D Cùng Super Bear Adventure MOD APK

Hướng Dẫn Nhận Tài Khoản Canva Pro Miễn Phí 2025

Hướng Dẫn Nhận Tài Khoản Canva Pro Miễn Phí 2025

Giới Thiệu

Thủ Thuật

➤ Website đang trong quá trình thử nghiệm AI biên tập, mọi nội dung trên website chúng tôi không chịu trách nhiệm. Bạn hãy cân nhắc thêm khi tham khảo bài viết, xin cảm ơn!

Chuyên Mục

➤ TOP Thủ Thuật

➤ Chia Sẻ Kiến Thức

➤ Kênh Công Nghệ

➤ SEO

➤ Games

Liên Kết

➤

➤

➤

➤

➤

Liên Hệ

➤ TP. Hải Phòng, Việt Nam

➤ 0931. 910. JQK

➤ Email: [email protected]

Website này cũng cần quảng cáo, không có tiền thì viết bài làm sao  ” Đen Vâu – MTP ”

DMCA.com Protection Status

© 2025 Thủ Thuật - Website chia sẻ kiến thức công nghệ hàng đầu Việt Nam

No Result
View All Result
  • TOP Thủ Thuật
    • Thủ Thuật Internet
    • Thủ Thuật Máy Tính
    • Thủ Thuật Tiện Ích
    • Thủ Thuật Phần Mềm
  • Chia Sẻ Kiến Thức
    • Học Excel
    • Học Word
    • Học Power Point
  • Games
  • Kênh Công Nghệ
  • Facebook
  • WordPress
  • SEO

© 2025 Thủ Thuật - Website chia sẻ kiến thức công nghệ hàng đầu Việt Nam