Table of Contents
Web page capture information (php regular expression, php operation excel)
Home Backend Development PHP Tutorial Web page capture information (php regular expression, php operation excel)_PHP tutorial

Web page capture information (php regular expression, php operation excel)_PHP tutorial

Jul 13, 2016 am 09:51 AM
regular Web page expression

Web page capture information (php regular expression, php operation excel)

1.Problem description

Capture the information you need on a fixed web page and store it in table form. I used a ranking list on wustoj to practice, address: wustoj

2. Ideas

I just learned PHP briefly on my website and just used it to do something. My idea is this:

(1) View the source code of the web page and save it in the file.

(2) Write a regular expression based on the required information, read the file, and extract the required information based on the regular expression. When writing regular expressions, it is best to group them, so that extraction is much easier.

(3) For excel operations, output the extracted information in excel form.

Better open source php handles excel links: click to open the link

3. Experience

^ means if it is the beginning of the original string, $ means if it is the end of the original string.
Null characters are not necessarily spaces.
It is a good method to use () to group, such as preg_macth_all(/$pattern/,$subject,matches).
matches is a two-dimensional array. If there is no _all, only the first part will be matched, which is a one-dimensional array.
$matches[0] holds all matches of the complete pattern. $matches[1] saves all matches in the first subgroup, that is, the first part of all matches.
The Chinese matching string I use is $patt_ch=chr(0x80)."-".chr(0xff).

4. Code

<!--?php
header("Content-Type: text/html; charset=utf-8");

$url = "http://acm.wust.edu.cn/contestrank.php?cid=1014";
$result=file_get_contents($url);
$file=fopen("content.php","w");
fwrite($file,$result);
$file=fopen("content.php","r");

$patt_ch=chr(0x80)."-".chr(0xff);
// <td-->1team30_姓名
$namepatt="()(\*{0,1}team[0-9]+)(_)([$patt_ch]+)(<\/a>)";  // part2 part4
//$namepatt="(team[0-9]+)(_)([$patt_ch]+)";   也可以用这个直接匹配"team_姓名"
//7
$problempatt="()([0-9]+)(<\/a>)";


//Include class
require_once(&#39;Classes/PHPExcel.php&#39;);
require_once(&#39;Classes/PHPExcel/Writer/Excel2007.php&#39;);
$objPHPExcel = new PHPExcel();

//Set properties 设置文件属性
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
$objPHPExcel->getProperties()->setKeywords("office 2007 openxml php");
$objPHPExcel->getProperties()->setCategory("Test result file");


$row=1;
$objPHPExcel->getActiveSheet()->setCellValue(&#39;A&#39;.$row, &#39;rank&#39;);
$objPHPExcel->getActiveSheet()->setCellValue(&#39;B&#39;.$row, &#39;team&#39;);
$objPHPExcel->getActiveSheet()->setCellValue(&#39;C&#39;.$row, &#39;solved&#39;);
while(!feof($file))
{
	//echo $row." ";
	$line=fgets($file);
	if(preg_match("/$rankpatt/",$line,$match))
	{
		$row++;
		//print_r	($match);
		//echo	$match[2]." ";
		//echo	"
";
		$objPHPExcel->getActiveSheet()->setCellValue(&#39;A&#39;.$row, $match[2]);
		$objPHPExcel->getActiveSheet()->getStyle(&#39;A&#39;.$row)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
	}
	if(preg_match("/$namepatt/",$line,$match))
	{
		//print_r	($match);
		//echo	$match[2]." ".$match[4]." ";
		//echo	"
"; 
		$objPHPExcel->getActiveSheet()->setCellValue(&#39;B&#39;.$row, $match[2].$match[4]);
	}
	if(preg_match("/$problempatt/",$line,$match))
	{
		//print_r	($match);
		//echo	$match[2]." ";
		//echo	"
";
		$objPHPExcel->getActiveSheet()->setCellValue(&#39;C&#39; . $row, $match[2]);
		$objPHPExcel->getActiveSheet()->getStyle(&#39;C&#39;.$row)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
	}
	$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
	$objWriter->save(str_replace(&#39;.php&#39;, &#39;.xlsx&#39;, __FILE__));
}
echo	"well done:)";
?></a[[:space:]]></a[[:space:]]>
Copy after login


5. Running results

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1015087.htmlTechArticleWeb page crawling information (php regular expression, php operation excel) 1. Problem description to implement the fixed web page itself The required information is captured and stored in table form. I took a row from wustoj...
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)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks 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)

How to send web pages to desktop as shortcut in Edge browser? How to send web pages to desktop as shortcut in Edge browser? Mar 14, 2024 pm 05:22 PM

How to send web pages to the desktop as a shortcut in Edge browser? Many of our users want to display frequently used web pages on the desktop as shortcuts for the convenience of directly opening access pages, but they don’t know how to do it. In response to this problem, the editor of this issue will share the solution with the majority of users. , let’s take a look at the content shared in today’s software tutorial. The shortcut method of sending web pages to the desktop in Edge browser: 1. Open the software and click the "..." button on the page. 2. Select "Install this site as an application" in "Application" from the drop-down menu option. 3. Finally, click it in the pop-up window

Develop web voting system using JavaScript Develop web voting system using JavaScript Aug 09, 2023 pm 01:30 PM

Using JavaScript to develop a web voting system Abstract: With the rapid development of the Internet, online voting has become a convenient and fast way to collect public opinions and make decisions. This article will introduce the use of JavaScript to develop a simple web voting system, which enables users to select options and submit votes. Introduction: A web voting system is a program that displays multiple options on a web page and allows users to choose. It can be used in many scenarios, such as election voting, product surveys, opinion collection, etc. This article

What to do if the web page cannot be accessed What to do if the web page cannot be accessed Sep 06, 2023 am 09:36 AM

Solutions to inaccessible web pages include checking the network connection, clearing the browser cache, checking the web page address, trying to use other browsers, checking the server status, checking the domain name resolution, checking the firewall and security settings and contacting the website administrator. Detailed introduction: 1. Check the network connection to ensure that the network connection is normal. You can try to open other web pages or use other devices to access to determine whether it is a network connection problem. If other web pages can be accessed normally, it may be a problem with the web page; 2. Clear the browser cache. The browser cache may cause the web page to fail to load, etc.

Possible reasons why the network connection is normal but the browser cannot access the web page Possible reasons why the network connection is normal but the browser cannot access the web page Feb 19, 2024 pm 03:45 PM

The browser cannot open the web page but the network is normal. There are many possible reasons. When this problem occurs, we need to investigate step by step to determine the specific cause and solve the problem. First, determine whether the webpage cannot be opened is limited to a specific browser or whether all browsers cannot open the webpage. If only one browser cannot open the web page, you can try to use other browsers, such as Google Chrome, Firefox, etc., for testing. If other browsers are able to open the page correctly, the problem is most likely with that specific browser, possibly

How to set up web page automatic refresh How to set up web page automatic refresh Oct 26, 2023 am 10:52 AM

To set the automatic refresh of a web page, you can use the HTML "meta" tag, the JavaScript "setTimeout" function, the "setInterval" function or the HTTP "Refresh" header. Detailed introduction: 1. Use the "meta" tag of HTML. In the "<head>" tag of the HTML document, you can use the "meta" tag to set the automatic refresh of the web page; 2. The "setTimeout" function of JavaScript, etc.

What to do if the webpage cannot be opened What to do if the webpage cannot be opened Feb 21, 2024 am 10:24 AM

How to solve the problem of web pages not opening With the rapid development of the Internet, people increasingly rely on the Internet to obtain information, communicate and entertain. However, sometimes we encounter the problem that the web page cannot be opened, which brings us a lot of trouble. This article will introduce you to some common methods to help solve the problem of web pages not opening. First, we need to determine why the web page cannot be opened. Possible reasons include network problems, server problems, browser settings problems, etc. Here are some solutions: Check network connection: First, we need

What should I do if the images on the webpage cannot be loaded? 6 solutions What should I do if the images on the webpage cannot be loaded? 6 solutions Mar 15, 2024 am 10:30 AM

Some netizens found that when they opened the browser web page, the pictures on the web page could not be loaded for a long time. What happened? I checked that the network is normal, so where is the problem? The editor below will introduce to you six solutions to the problem that web page images cannot be loaded. Web page images cannot be loaded: 1. Internet speed problem The web page cannot display images. It may be because the computer's Internet speed is relatively slow and there are more softwares opened on the computer. And the images we access are relatively large, which may be due to loading timeout. As a result, the picture cannot be displayed. You can turn off the software that consumes more network speed. You can go to the task manager to check. 2. Too many visitors. If the webpage cannot display pictures, it may be because the webpages we visited were visited at the same time.

How to open php on the web page How to open php on the web page Mar 22, 2024 pm 03:20 PM

Executing PHP code in a web page requires ensuring that the web server supports PHP and is properly configured. PHP can be opened in three ways: * **Server environment:** Place the PHP file in the server root directory and access it through the browser. * **Integrated Development Environment: **Place PHP files in the specified web root directory and access them through the browser. * **Remote Server:** Access PHP files hosted on a remote server via the URL address provided by the server.

See all articles