게임 산업이 발전함에 따라 점점 더 많은 게이머가 Steam 플랫폼을 통해 게임을 구매하고 있습니다. 세계 최대의 PC 게임 배포 플랫폼인 Steam은 풍부한 게임 및 커뮤니티 기능을 제공하여 전 세계의 수많은 게임 매니아들을 끌어 모으고 있습니다. Steam 게임 매니아이거나 Steam 게임 정보를 알고 싶은 개발자라면 이 문서에서는 PHP 언어를 사용하여 Steam 게임 정보를 크롤링하는 방법을 소개합니다.
1. Steam API 이해
Steam은 공식 API(애플리케이션 프로그램 인터페이스, 애플리케이션 프로그래밍 인터페이스)를 제공합니다. 개발자라면 공식 API를 사용하여 게임 정보를 얻을 수 있습니다. 하지만 공식 API를 사용하려면 먼저 인증이 필요하며, 공식 API에는 많은 제약이 있습니다. 예를 들어, 게임 가격, 평점, 추천 및 기타 정보를 얻으려면 사용자가 Steam에 로그인해야 합니다. 따라서 이 기사에서는 PHP를 사용하여 Steam 게임 정보에 대한 웹 데이터를 크롤링하는 방법을 소개합니다.
2. Steam 게임 페이지의 소스 코드 얻기
PHP를 사용하여 Steam 게임 정보를 크롤링하기 전에 먼저 Steam 게임 페이지의 소스 코드를 얻는 방법을 이해해야 합니다. Steam 게임 세부 정보 페이지를 열고, 브라우저에서 개발자 도구를 열고, "네트워크" 탭으로 전환하고, 요청 유형을 "모두"로 설정하고, 페이지를 새로 고치세요. 모든 요청 기록을 볼 수 있으며, 우리에게 필요한 요청인 "store.steampowered.com"이라는 기록이 있습니다.
요청 아래로 커서를 이동하고 오른쪽의 "헤더" 탭에서 "요청 URL"을 찾으세요. 이 URL은 게임 세부정보 페이지의 전체 주소를 복사하고 file_get_contents()
函数获取该页面源代码。
三、解析 Steam 游戏页面源代码
爬取 Steam 游戏信息的下一步是解析 Steam 游戏页面源代码。我们可以使用 PHP 中的 DOMDocument 和 DOMXPath 类来解析 HTML 文档。 首先,我们需要将下载的页面源代码传递给 DOMDocument 类的 loadHTML()
方法来创建一个 DOM 对象,然后通过 DOMXPath 类的 query()
方法来查询元素。
下面是一个示例代码,可以解析出 Steam 游戏的名字和发布日期:
$url = "https://store.steampowered.com/app/105600/"; $html = file_get_contents($url); $doc = new DOMDocument(); $doc->loadHTML($html); $xpath = new DOMXPath($doc); $name = $xpath->query('//div[@class="apphub_AppName"]')->item(0)->nodeValue; $date = $xpath->query('//div[@class="date"]')->item(0)->nodeValue; echo "游戏名字:".$name." "; echo "发布日期:".$date." ";
上面的代码中,我们使用了 XPath 查询语言来查询 Steam 游戏页面中的元素。其中,“//@class=” 参数指向了需要查询的类名, item()
方法用于获取第一个匹配的元素, nodeValue
loadHTML()
메서드에 전달하여 DOM 개체를 생성한 다음 query()
를 통해 쿼리해야 합니다. DOMXPath 클래스 요소의 메서드입니다. 다음은 Steam 게임의 이름과 출시 날짜를 구문 분석할 수 있는 샘플 코드입니다. $price = $xpath->query('//div[@class="game_purchase_price"]')->item(0)->nodeValue;
item()
메서드는 첫 번째로 일치하는 요소를 가져오는 데 사용되며, nodeValue code> 속성은 요소의 텍스트 콘텐츠를 가져오는 데 사용됩니다.
위 내용은 PHP를 사용하여 Steam 게임 정보 크롤링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!