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:  Tạo Dữ Liệu Ngẫu Nhiên trong Excel với Hàm RANDBETWEEN và VLOOKUP

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

VBA trong Excel: Lập Trình Tự Động Hóa Công Việc
Học Excel

VBA trong Excel: Lập Trình Tự Động Hóa Công Việc

Hàm VLOOKUP trong Excel: Hướng dẫn chi tiết từ cơ bản đến nâng cao
Học Excel

Hàm VLOOKUP trong Excel: Hướng dẫn chi tiết từ cơ bản đến nâng cao

Hướng Dẫn Căn Lề Trong Word Chi Tiết Từ A-Z (2007-2019, 365)
Học Excel

Hướng Dẫn Căn Lề Trong Word Chi Tiết Từ A-Z (2007-2019, 365)

Hướng Dẫn Sử Dụng Hàm COUNTIFS trong Excel để Đếm Theo Nhiều Điều Kiện
Học Excel

Hướng Dẫn Sử Dụng Hàm COUNTIFS trong Excel để Đếm Theo Nhiều Điều Kiện

Discussion about this post

Trending.

Avast Free Antivirus: Hướng Dẫn Cài Đặt và Sử Dụng Chi Tiết

Avast Free Antivirus: Hướng Dẫn Cài Đặt và Sử Dụng Chi Tiết

Tải +27 Mẫu slide thuyết trình luận văn – Powerpoint bảo vệ khóa luận 2025 ✅

Tải +27 Mẫu slide thuyết trình luận văn – Powerpoint bảo vệ khóa luận 2025 ✅

Tải Clash of Clans APK MOD Vô Hạn Tiền, Vàng, Đá Quý Mới Nhất 2025

Tải Clash of Clans APK MOD Vô Hạn Tiền, Vàng, Đá Quý Mới Nhất 2025

Hướng Dẫn Hack Trái Ác Quỷ Trong Blox Fruits

Hướng Dẫn Hack Trái Ác Quỷ Trong Blox Fruits

Hướng Dẫn Tải và Cài Đặt Vectorworks Chi Tiết Nhất 2025

Hướng Dẫn Tải và Cài Đặt Vectorworks Chi Tiết Nhất 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

➤ Ketquaxskt.com

➤ TOP Restaurants

➤

➤

➤

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