tojibon / web-scraper
A web scraper php class using PHP cURL to scrap web page. By which you can scrap web page by cURL get, post methods also by which you can scrap web page content from a asp.net based websites with form post.
1.1
2017-01-06 10:10 UTC
Requires
- php: ^5.5 || ^7.0
This package is not auto-updated.
Last update: 2025-04-27 00:07:47 UTC
README
- A very simple single page PHP web scraper class that utilizes the cURL library to scrape web page content. Scrape web pages using GET or POST methods. Also scrape web page content from asp.net based websites using form POST methods.
- Support for:
- GET Method
- POST Method
- ASP Calls
- Retrieve Page Contents by Markup Tag Names
- Retrieve Values from Form Fields
Installation
composer require juyal-ahmed/web-scraper
Getting a full webpage content:
<?php require 'vendor/autoload.php'; // Create a Scraper instance with only the URL specified $scraper = new \PhpFarmer\WebScraper\Scraper('https://example.com'); $pageHtmlContent = $scraper->getPageContent('https://example.com/page.html'); ?>
Getting a full webpage content:
<?php require 'vendor/autoload.php'; // Create a Scraper instance with custom cache settings $scraperWithCache = new Scraper('https://example.com', true, './custom_cache/', 600); $pageHtmlContent = $scraper->getPageContent('https://example.com/page.html'); ?>
Getting a full webpage content with Using Proxy IP:
<?php require 'vendor/autoload.php'; // Create a Scraper instance with only the URL specified $scraper = new \PhpFarmer\WebScraper\Scraper('https://example.com'); $pageHtmlContent = $scraper->curl('https://example.com/page.html', "93.118.xx.141:8800", "6USERR:8PASS1"); ?>
Parsing a page html content:
<?php $subHtmlContent = $scraper->getHtmlContentBetweenTags($pageHtmlContent, '', ''); ?>
How It Works:
- Include The Class scraper.php in your Working page header.
- Set some default settings.
- Get the page content by its existing methods.
- Split your content by getHtmlContentBetweenTags methods if single content you are searching for.
- If grid data needed, split the content with a needle Ex: explode()
- Then loop it whole and get the content by getHtmlContentBetweenTags again to make the final array of grid data.
- That's' all
Thanks