Home Backend Development PHP Tutorial Tutorial on using PHP to crawl Douban movie reviews

Tutorial on using PHP to crawl Douban movie reviews

Jun 14, 2023 pm 05:06 PM
php reptile Douban

With the continuous expansion and development of the film market, people's demand for films is also getting higher and higher. As for movie evaluation, Douban Film Critics has always been a more authoritative and popular choice. Sometimes, we also need to perform certain analysis and processing on Douban film reviews, which requires using crawler technology to obtain information about Douban film reviews. This article will introduce a tutorial on how to use PHP to crawl Douban movie reviews for your reference.

  1. Get the page address of Douban movie

Before crawling Douban movie reviews, you need to get the page address of Douban movie. The page address of the movie can be obtained through a search engine or directly accessing the movie list interface of Douban Movies. For example, if we want to get the page address of the movie "The Shawshank Redemption", we can search on the movie list interface of Douban Movies, or we can directly enter the page address of the movie in the browser: https://movie.douban.com/subject/ 1292052/.

  1. Use PHP to access the Douban movie page and obtain the page content

PHP provides the cURL library for web page access and data acquisition. The following is a PHP code example to access the Douban Movies page and obtain the page content:

$url = 'https://movie.douban.com/subject/1292052/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$html = curl_exec($ch);
curl_close($ch);
echo $html;
Copy after login

In the code, the page address of Douban Movies is first defined, and then the curl_init() function is used to initialize the cURL object. Then use the curl_setopt() function to set the parameters of the curl object, where CURLOPT_URL sets the accessed URL address and CURLOPT_RETURNTRANSFER sets the return result as a string. Then use the curl_exec() function to perform the cURL crawling operation and assign the result to the variable $html. Finally, use the curl_close() function to close the cURL session and release related resources, and then output the value of the variable $html.

Execute the above code to output the HTML content of the Douban movie page.

  1. Parse the HTML content of the Douban movie review page

After obtaining the HTML content of the page, you need to use PHP to parse the HTML content and extract the Douban movie review information.

In PHP, you can use the SimpleXML extension to parse XML or HTML data. The following is a PHP code example, which is used to parse the HTML content of the Douban movie review page and extract the rating and review content of the movie review:

$url = 'https://movie.douban.com/subject/1292052/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$html = curl_exec($ch);
curl_close($ch);

// 使用 SimpleXML 解析 HTML 内容
$xml = simplexml_load_string($html);
$ratings = array();
$comments = array();

// 获取影评评分和评论内容
foreach ($xml->xpath('//div[@class="comment-item"]') as $comment) {
    $rating = $comment->div[2]->span[2]->text();
    $comment_content = $comment->div[2]->p->text();
    $ratings[] = (string)$rating;
    $comments[] = (string)$comment_content;
}

print_r($ratings);
print_r($comments);
Copy after login

In the code, the page address of the Douban movie is first defined, and then curl is used. Page access and operations to obtain HTML content.

Next use the simplexml_load_string() function to parse the HTML content into a SimpleXML object. Then use the xpath() function and XPath query statement to obtain all movie review information on the page, use the foreach statement to traverse each movie review, and obtain the ratings and comment content. Finally, store the ratings and comments into the $ratings and $comments arrays respectively, and output the contents of these two arrays.

Execute the above code to parse out all the film review information in the Douban film review page.

  1. Output movie review information

Next, output the obtained movie review information. You can use HTML and CSS to beautify the output content. The following is a PHP code example for beautifying and outputting the movie review information on the Douban movie review page:

$url = 'https://movie.douban.com/subject/1292052/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$html = curl_exec($ch);
curl_close($ch);

// 使用 SimpleXML 解析 HTML 内容
$xml = simplexml_load_string($html);
$ratings = array();
$comments = array();

// 获取影评评分和评论内容
foreach ($xml->xpath('//div[@class="comment-item"]') as $comment) {
    $rating = $comment->div[2]->span[2]->text();
    $comment_content = $comment->div[2]->p->text();
    $ratings[] = (string)$rating;
    $comments[] = (string)$comment_content;
}

// 输出美化的影评信息
echo '<style>table, th, td {border: 1px solid black; border-collapse: collapse;} th, td {padding: 5px;}</style>';
echo '<table><tr><th>评分</th><th>评论内容</th></tr>';
for ($i = 0; $i < count($ratings); $i++) {
    echo '<tr><td>' . $ratings[$i] . '</td><td>' . $comments[$i] . '</td></tr>';
}
echo '</table>';
Copy after login

In the code, first use curl to obtain the HTML content of the Douban movie page, and then use SimpleXML to parse the HTML content and obtain Ratings and review content for movie reviews.

Next, use HTML and CSS to beautify the output content, including adding table styles, setting table headers and table content, and using a for loop to traverse each movie review and output the ratings and comments.

Execute the above code to output the film review information of the beautified Douban film review page.

To sum up, this article introduces a tutorial on how to use PHP to crawl Douban movie reviews. Through learning, readers can learn how to use PHP and cURL technologies to access web pages and capture data, as well as how to use SimpleXML extensions to parse HTML content and beautify output.

The above is the detailed content of Tutorial on using PHP to crawl Douban movie reviews. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

See all articles