


Web page capture information (php regular expression, php operation excel)_PHP tutorial
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('Classes/PHPExcel.php'); require_once('Classes/PHPExcel/Writer/Excel2007.php'); $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('A'.$row, 'rank'); $objPHPExcel->getActiveSheet()->setCellValue('B'.$row, 'team'); $objPHPExcel->getActiveSheet()->setCellValue('C'.$row, 'solved'); 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('A'.$row, $match[2]); $objPHPExcel->getActiveSheet()->getStyle('A'.$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('B'.$row, $match[2].$match[4]); } if(preg_match("/$problempatt/",$line,$match)) { //print_r ($match); //echo $match[2]." "; //echo " "; $objPHPExcel->getActiveSheet()->setCellValue('C' . $row, $match[2]); $objPHPExcel->getActiveSheet()->getStyle('C'.$row)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT); } $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); $objWriter->save(str_replace('.php', '.xlsx', __FILE__)); } echo "well done:)"; ?></a[[:space:]]></a[[:space:]]>
5. Running results

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

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

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

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.

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

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.

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

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.

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.
