Hello Friend, Let‘s Learn Web Scraping With PHP

I‘m excited to walk you through a complete guide to web scraping with PHP. I‘ve been working with web scrapers for over 5 years, and I‘m eager to share everything I‘ve learned to help you extract and analyze data from the web.

PHP is one of the best languages to know for web scraping due to how widely used it is on the web. Over 75% of all websites use PHP in some way, so learning to scrape with it provides access to a huge amount of data.

I‘ll be with you every step of the way in this guide. By the end, you‘ll have a clear understanding of:

  • Why PHP is so useful for web scraping
  • How to set up your environment
  • Scraping basic HTML pages
  • Using advanced libraries like Goutte
  • Working with paginated content
  • Storing scraped data properly
  • Tips for JavaScript-heavy sites
  • And much more!

Let‘s get started friend!

Why Use PHP for Scraping?

I want to begin by highlighting some key advantages that make PHP a great choice for web scrapers:

Widespread Usage

As I mentioned earlier, over 75% of all websites use PHP in some way according to W3Techs. It powers popular platforms like WordPress, Facebook, Wikipedia and more.

This widespread usage means that PHP scrapping libraries and tools are plentiful. There are many existing code examples and tutorials available as well.

Built-in Functions

PHP contains many built-in functions that are useful for web scraping tasks including:

  • file_get_contents() – Downloads raw HTML/text from a URL
  • DOMDocument – Parses HTML and allows DOM traversal
  • preg_match() – Applies regular expression pattern matching

These functions provide a quick starting point before needing more robust third-party tools.

Fast Execution

Since PHP is compiled down to bytecode and executed natively, it‘s very fast for simple scraping scripts.

Benchmark tests show PHP matching or exceeding the speeds of Python and NodeJS in many cases. When scraping large volumes of pages, this performance boost is valuable.

Open Source

PHP is freely available under open source licenses. The raw engine is written in C which is also open source.

This means PHP can run on virtually any platform from Windows to Linux to macOS and more. You can be sure your web scrapers will work across operating systems.

The open source nature also fosters collaboration and transparency from the large PHP community.

Easy to Learn

While languages like Python take some time to properly grasp concepts like indentation rules, PHP has a relatively gentle learning curve by comparison.

The syntax is loosely based on C/C++ so it uses standard braces for blocks and semicolons to terminate lines. Variables do not require type declarations.

This simplicity helps new developers start scraping the web quicker compared to other languages.

Now that you understand the benefits, let‘s look at setting up a scraping environment.

Prerequisites to Start Scraping

Before we start writing PHP code to scrape the web, you‘ll want to have your environment configured properly:

PHP 7.1 or Above

I recommend using the latest available PHP version which is currently 8.x at the time I‘m writing this guide. However, PHP 7.1 or above should have the necessary features.

Older versions may not support critical functions we need. You can check your installed PHP version by running:

php -v

If you need to upgrade, I suggest using a package manager for your operating system like Homebrew on macOS or Chocolatey on Windows.

Composer

Composer is the package manager for PHP that allows you to install third-party libraries. We‘ll use it later to get more advanced scraping tools.

You can download the Composer PHAR archive from getcomposer.org and execute it globally like so:

php composer.phar install

Or if you have curl:

curl -s https://getcomposer.org/installer | php

Once installed, verify it works via:

composer --version

This will be essential for streamlining dependencies.

cURL Extension

cURL allows PHP to transfer data using various network protocols. It‘s usually included by default with PHP installations.

Test for it with:

if (!extension_loaded(‘curl‘)) {
  echo ‘cURL extension required!‘;
  exit;
} 

If missing, research installing it for your system. It can be compiled from source or may be an optional package.

DOM Extension

The DOM (Document Object Model) extension parses HTML and XML documents into a traversable structure. This allows querying elements by ID, class name, tag name etc.

Verify it is active:

if (!extension_loaded(‘dom‘)) {
  echo ‘DOM extension required!‘;
  exit; 
}

Like cURL, research installing it if needed.

With the prerequisites checked off, you have a web scraping ready PHP environment!

Scraping Simple Sites with file_get_contents()

For basic web pages that don‘t require complex interaction, PHP‘s built-in file_get_contents() function can retrieve the raw HTML:

$html = file_get_contents(‘http://example.com/‘);

This will download the full source code of the page as a string. You can then process it further based on your needs.

Let‘s try an example with books.toscrape.com:

$html = file_get_contents(‘http://books.toscrape.com/‘);

// Extract title 
preg_match(‘/<title>(.*)<\/title>/‘, $html, $matches);
echo $matches[1]; 

// Find all product names
preg_match_all(‘/<h3>(.*?)<\/h3>/‘, $html, $matches);
print_r($matches[1]);

This uses regular expressions to search through the HTML and extract the and </p> <h3> elements containing book names.</p> <p>The main downside is that regex can be brittle and hard to maintain for complex data extraction. But for simple pages, it‘s a handy tool you already have access to in PHP without any additional libraries.</p> <p>Now let‘s look at more robust ways to parse and traverse HTML documents.</p> <h2>Scraping Complex Sites with Goutte</h2> <p>When dealing with large, complex websites, a simple regex approach often won‘t suffice. We need more powerful tools for DOM traversal and interaction.</p> <p>This is where a library like Goutte comes in very handy. Goutte provides a nice API for scraping HTML pages more effectively.</p> <p>Let‘s install it using Composer:</p> <pre><code>composer require fabpot/goutte</code></pre> <p>Then we can start loading pages and extracting data:</p> <pre><code class="language-php">// Require the Goutte autoloader require ‘vendor/autoload.php‘; // Create a Goutte client $client = new \Goutte\Client(); // Load a page $crawler = $client->request(‘GET‘, ‘http://books.toscrape.com/‘); // Extract data echo $crawler->filter(‘title‘)->text(); $crawler->filter(‘.product_pod‘) ->each(function ($node) { echo $node->filter(‘h3‘)->text() . PHP_EOL; });</code></pre> <p>This code loads the books page, then searches for elements by CSS selector to extract the title and product names.</p> <p>Goutte uses Symfony‘s DOMCrawler and CssSelector components under the hood to allow jQuery-like traversal of HTML and XML documents.</p> <p>Some key advantages over regex parsing:</p> <ul> <li>More concise and readable selectors</li> <li>Support for DOM manipulation methods like text(), html(), attr() etc</li> <li>Built-in mechanisms for form submission, file uploading, click simulation</li> <li>Memory efficiency for large documents</li> </ul> <p>According to web scraping experts, Goutte can handle the majority of static web pages with graceful degradation. The API abstractions spare you from having to write DOM traversal code yourself.</p> <p>Let‘s look at a common web scraping chore – handling pagination. </p> <h2>Pagination: Scraping Data Across Multiple Pages</h2> <p>Often a website will have paginated content across many numbered URLs like:</p> <ul> <li>example.com/page1</li> <li>example.com/page2 </li> <li>example.com/page3</li> </ul> <p>And so on…</p> <p>To scrape all this content, we need to recursively visit each page until no more are found. </p> <p>Goutte provides a few ways to handle pagination like this. A simple approach is finding the "Next" links and clicking them:</p> <pre><code class="language-php">// Load page 1 $crawler = $client->request(‘GET‘, ‘http://books.toscrape.com/‘); // Loop through pagination while ($crawler) { // Extract data from current page // ... // Try clicking the next page link $nextLink = $crawler->selectLink(‘next‘)->link(); if ($nextLink) { // Follow next page $crawler = $client->click($nextLink); } else { // No more pages found break; } }</code></pre> <p>Here we fetch the first page, then loop through clicking the "next" link until no more pages are found.</p> <p>The key steps are:</p> <ol> <li>Check for a "next" selector</li> <li>Extract the matched link with link()</li> <li>Click the link with click()</li> <li>This returns the next page HTML to continue looping</li> </ol> <p>Goutte takes care of automatically building absolute URLs when you click page links. This saves you hassle compared to using file_get_contents() directly.</p> <p>Now let‘s look at actually storing scraped data for further use.</p> <h2>Storing Scraped Data</h2> <p>As you scrape page after page, you‘ll want to store extracted data in a structured format for later analysis and processing.</p> <p>For simple use cases, writing to a CSV (comma separated values) file can work well:</p> <pre><code class="language-php">$file = fopen(‘results.csv‘, ‘w‘); // Scrape pages foreach ($books as $book) { fputcsv($file, [$book[‘title‘], $book[‘price‘]]); } fclose($file);</code></pre> <p>This gives you a simple spreadsheet of your results.</p> <p>For more advanced use, you may want to insert records into a relational database like MySQL. PHP includes the PDO library for interfacing with databases.</p> <pre><code class="language-php">$db = new PDO(‘mysql:host=localhost;dbname=scraping‘, $user, $pass); foreach ($books as $book) { $statement = $db->prepare("INSERT INTO books VALUES (:title, :price)"); $statement->execute($book); }</code></pre> <p>This approach allows powerful SQL querying abilities on your scraped data.</p> <p>Other common formats are JSON or XML files. These can integrate nicely with JavaScript programs or apps you are building the scraper for.</p> <p>The key is structuring your data in a useful way as you extract it from pages.</p> <p>Now let‘s discuss handling a modern web scraping challenge – JavaScript.</p> <h2>Scraping JavaScript-Heavy Sites</h2> <p>In the early days of the internet, websites were mostly simple HTML pages with minimal JavaScript sprinkled in.</p> <p>Fast forward to today, and many modern sites rely heavily on JavaScript to render content, especially sites built with frameworks like React or Vue.</p> <p>The issue is that simple file_get_contents() requests do not execute JavaScript code. They only receive the initial payload HTML, which often does not contain the full rendered content you want to scrape.</p> <p>To scrape these sites, we need a web browser capable of executing JavaScript to get the full DOM after code execution.</p> <p>This is where libraries like Symfony Panther come in. Panther uses real browser engines like Chrome and Firefox behind the scenes to evaluate page JavaScript and return the updated DOM.</p> <p>Let‘s set it up:</p> <pre><code>composer require symfony/panther npm install puppeteer </code></pre> <p>Puppeteer is a headless Chrome browser that Panther will leverage.</p> <p>Now we can scrape JavaScript pages:</p> <pre><code class="language-php">use Symfony\Component\Panther\Client; $client = Client::createChromeClient(); $client->request(‘GET‘, ‘https://example.com‘); // Wait for JavaScript to load content $client->waitFor(‘.js-generated‘); // Extract loaded content $html = $client->getPageSource(); // Traverse as usual $dom = new DomCrawler($html); echo $dom->filter(‘.js-generated‘)->text();</code></pre> <p>The key points are:</p> <ul> <li>Panther boots a real Chrome browser to evaluate the JavaScript</li> <li>We wait for certain elements to appear from the JS with waitFor()</li> <li>Once loaded, we can grab the updated HTML with getPageSource()</li> <li>The DOM is then traversable as usual!</li> </ul> <p>According to web scraping experts, Panther is one of the most reliable and hassle-free ways to scrape JavaScript pages with PHP. Definitely a useful tool to keep in your toolkit.</p> <p>Now let‘s recap everything you‘ve learned!</p> <h2>Scraping Takeaways and Next Steps</h2> <p>Congratulations friend! Together we‘ve covered a ton of web scraping territory with PHP:</p> <ul> <li><strong>Why PHP is ideal for scraping</strong> – Ubiquitous usage, fast performance, built-in functions</li> <li><strong>Prerequisites</strong> – PHP 7+, Composer, cURL, DOM extensions</li> <li><strong>Scraping simple pages</strong> – file_get_contents() and regex parsing </li> <li><strong>Using Goutte</strong> – Robust library for complex sites and data extraction</li> <li><strong>Pagination</strong> – Recursively visit and scrape all available pages </li> <li><strong>Data storage</strong> – CSV, JSON, XML, databases</li> <li><strong>JavaScript sites</strong> – Leverage Panther for Chrome JavaScript execution</li> </ul> <p>You‘re now equipped to start building PHP scrapers of your own and slurping data from across the web!</p> <p>Some next steps I recommend:</p> <ul> <li> <p>Practice scraping a range of sites to gain experience </p> </li> <li> <p>Handle cookies and sessions for authenticated areas</p> </li> <li> <p>Build scrapers for APIs by parsing JSON </p> </li> <li> <p>Learn how to avoid blocking with proxies and headers</p> </li> <li> <p>Create scrapers tailored to your unique data needs</p> </li> <li> <p>Build a web interface for scraper management</p> </li> <li> <p>Integrate scrapers into a larger application</p> </li> </ul> <p>The possibilities are endless once you master the art of programmatically extracting data with PHP!</p> <p>I sincerely hope this guide gives you a comprehensive base of knowledge to start your web scraping journey. Please reach out if you have any other questions!</p> <p>Happy scraping friend!</p> <!-- Rate my Post Plugin --><div class="rmp-widgets-container rmp-wp-plugin rmp-main-container js-rmp-widgets-container js-rmp-widgets-container--43031 " data-post-id="43031"> <!-- Rating widget --> <div class="rmp-rating-widget js-rmp-rating-widget"> <p class="rmp-heading rmp-heading--title"> How useful was this post? </p> <p class="rmp-heading rmp-heading--subtitle"> Click on a star to rate it! </p> <div class="rmp-rating-widget__icons"> <ul class="rmp-rating-widget__icons-list js-rmp-rating-icons-list"> <li class="rmp-rating-widget__icons-list__icon js-rmp-rating-item" data-descriptive-rating="Not at all useful" data-value="1"> <i class="js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star "></i> </li> <li class="rmp-rating-widget__icons-list__icon js-rmp-rating-item" data-descriptive-rating="Somewhat useful" data-value="2"> <i class="js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star "></i> </li> <li class="rmp-rating-widget__icons-list__icon js-rmp-rating-item" data-descriptive-rating="Useful" data-value="3"> <i class="js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star "></i> </li> <li class="rmp-rating-widget__icons-list__icon js-rmp-rating-item" data-descriptive-rating="Fairly useful" data-value="4"> <i class="js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star "></i> </li> <li class="rmp-rating-widget__icons-list__icon js-rmp-rating-item" data-descriptive-rating="Very useful" data-value="5"> <i class="js-rmp-rating-icon rmp-icon rmp-icon--ratings rmp-icon--star "></i> </li> </ul> </div> <p class="rmp-rating-widget__hover-text js-rmp-hover-text"></p> <button class="rmp-rating-widget__submit-btn rmp-btn js-submit-rating-btn"> Submit Rating </button> <p class="rmp-rating-widget__results js-rmp-results rmp-rating-widget__results--hidden"> Average rating <span class="rmp-rating-widget__results__rating js-rmp-avg-rating">0</span> / 5. Vote count: <span class="rmp-rating-widget__results__votes js-rmp-vote-count">0</span> </p> <p class="rmp-rating-widget__not-rated js-rmp-not-rated "> No votes so far! Be the first to rate this post. </p> <p class="rmp-rating-widget__msg js-rmp-msg"></p> </div> <!--Structured data --> </div><div class='yarpp yarpp-related yarpp-related-website yarpp-template-list'> <!-- YARPP List --> <hr><h4>You May Like to Read,</h4><ul> <li><a href="https://www.33rdsquare.com/curl-get-requests/" rel="bookmark" title="How to Send GET Requests With cURL">How to Send GET Requests With cURL </a></li> <li><a href="https://www.33rdsquare.com/ebay-data-scraping-guide/" rel="bookmark" title="How to Scrape Data from eBay: A Comprehensive Guide">How to Scrape Data from eBay: A Comprehensive Guide </a></li> <li><a href="https://www.33rdsquare.com/how-automate-competitors-benchmark-analysis/" rel="bookmark" title="How To Automate Competitors‘ & Benchmark Analysis With Python">How To Automate Competitors‘ & Benchmark Analysis With Python </a></li> <li><a href="https://www.33rdsquare.com/how-to-build-web-scraper/" rel="bookmark" title="How to Build a Web Scraper: The Complete 2021 Guide">How to Build a Web Scraper: The Complete 2021 Guide </a></li> <li><a href="https://www.33rdsquare.com/how-to-scrape-google-search-results/" rel="bookmark" title="How to Scrape Google Search Results: Python Tutorial">How to Scrape Google Search Results: Python Tutorial </a></li> <li><a href="https://www.33rdsquare.com/rotate-proxies-python/" rel="bookmark" title="The Complete Guide to Rotating Proxies in Python">The Complete Guide to Rotating Proxies in Python </a></li> <li><a href="https://www.33rdsquare.com/scrapy-web-scraping-tutorial/" rel="bookmark" title="Extracting Gold from the Web: A Comprehensive Tutorial on Web Scraping with Scrapy">Extracting Gold from the Web: A Comprehensive Tutorial on Web Scraping with Scrapy </a></li> <li><a href="https://www.33rdsquare.com/wget-proxy/" rel="bookmark" title="How to Use Wget With Proxy">How to Use Wget With Proxy </a></li> </ul> </div> </div> </div> </article> <script type="rocketlazyloadscript" async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7152359349184850" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-7152359349184850" data-ad-slot="3024249396"></ins> <script type="rocketlazyloadscript"> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </main> <div class="monsterinsights-widget-popular-posts monsterinsights-widget-popular-posts-hotel monsterinsights-popular-posts-styled monsterinsights-widget-popular-posts-columns-3"><ul class="monsterinsights-widget-popular-posts-list"><li ><a href="https://www.33rdsquare.com/best-flight-tracking-app/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="172" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20172'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2023/03/Flightradar24-300x172.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2023/03/Flightradar24-768x439.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2023/03/Flightradar24.jpg 808w " alt="10 Best Flight Tracking Apps for iphone & Android in 2024" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2023/03/Flightradar24-300x172.jpg" /><noscript><img width="300" height="172" src="//www.33rdsquare.com/wp-content/uploads/2023/03/Flightradar24-300x172.jpg" srcset=" //www.33rdsquare.com/wp-content/uploads/2023/03/Flightradar24-300x172.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2023/03/Flightradar24-768x439.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2023/03/Flightradar24.jpg 808w " alt="10 Best Flight Tracking Apps for iphone & Android in 2024" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" >10 Best Flight Tracking Apps for iphone & Android in 2024</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Kara Masterson</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/diy-home-security-system-no-monthly-fee/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="169" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20169'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2023/11/Top-DIY-Home-Security-Systems--300x169.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2023/11/Top-DIY-Home-Security-Systems--768x432.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2023/11/Top-DIY-Home-Security-Systems-.jpg 1000w " alt="Top 15 DIY Home Security Systems No Monthly Fee" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2023/11/Top-DIY-Home-Security-Systems--300x169.jpg" /><noscript><img width="300" height="169" src="//www.33rdsquare.com/wp-content/uploads/2023/11/Top-DIY-Home-Security-Systems--300x169.jpg" srcset=" //www.33rdsquare.com/wp-content/uploads/2023/11/Top-DIY-Home-Security-Systems--300x169.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2023/11/Top-DIY-Home-Security-Systems--768x432.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2023/11/Top-DIY-Home-Security-Systems-.jpg 1000w " alt="Top 15 DIY Home Security Systems No Monthly Fee" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" >Top 15 DIY Home Security Systems No Monthly Fee</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Kara Masterson</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/90-inch-tv/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="169" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20169'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2023/11/90-100-Inch-TVs-300x169.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2023/11/90-100-Inch-TVs-768x432.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2023/11/90-100-Inch-TVs.jpg 1000w " alt="Best 90-100-Inch TVs Review – New Year Special, Order Now !" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2023/11/90-100-Inch-TVs-300x169.jpg" /><noscript><img width="300" height="169" src="//www.33rdsquare.com/wp-content/uploads/2023/11/90-100-Inch-TVs-300x169.jpg" srcset=" //www.33rdsquare.com/wp-content/uploads/2023/11/90-100-Inch-TVs-300x169.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2023/11/90-100-Inch-TVs-768x432.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2023/11/90-100-Inch-TVs.jpg 1000w " alt="Best 90-100-Inch TVs Review – New Year Special, Order Now !" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" >Best 90-100-Inch TVs Review – New Year Special, Order Now !</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Loring Chien</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/red-door-meaning/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="158" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20158'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2020/09/Red-door-300x158.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2020/09/Red-door-768x404.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2020/09/Red-door.jpg 950w " alt="Red Door Meaning: 7 Symbolism You Need To Know" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2020/09/Red-door-300x158.jpg" /><noscript><img width="300" height="158" src="//www.33rdsquare.com/wp-content/uploads/2020/09/Red-door-300x158.jpg" srcset=" //www.33rdsquare.com/wp-content/uploads/2020/09/Red-door-300x158.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2020/09/Red-door-768x404.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2020/09/Red-door.jpg 950w " alt="Red Door Meaning: 7 Symbolism You Need To Know" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" >Red Door Meaning: 7 Symbolism You Need To Know</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Clarence Booth</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/free-residential-vpn/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="176" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20176'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2021/07/residential-vpn-300x176.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2021/07/residential-vpn-1024x600.jpg 1024w, //www.33rdsquare.com/wp-content/uploads/2021/07/residential-vpn-768x450.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2021/07/residential-vpn.jpg 1200w " alt="Best Free Residential VPN of 2024" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2021/07/residential-vpn-300x176.jpg" /><noscript><img width="300" height="176" src="//www.33rdsquare.com/wp-content/uploads/2021/07/residential-vpn-300x176.jpg" srcset=" //www.33rdsquare.com/wp-content/uploads/2021/07/residential-vpn-300x176.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2021/07/residential-vpn-1024x600.jpg 1024w, //www.33rdsquare.com/wp-content/uploads/2021/07/residential-vpn-768x450.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2021/07/residential-vpn.jpg 1200w " alt="Best Free Residential VPN of 2024" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" >Best Free Residential VPN of 2024</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Steve Loeb</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/best-place-to-buy-liquidation-pallets/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="169" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20169'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2021/12/Best-Place-to-Buy-Liquidation-Pallets-300x169.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2021/12/Best-Place-to-Buy-Liquidation-Pallets-768x432.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2021/12/Best-Place-to-Buy-Liquidation-Pallets.jpg 800w " alt="10 Best Place to Buy Liquidation Pallets" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2021/12/Best-Place-to-Buy-Liquidation-Pallets-300x169.jpg" /><noscript><img width="300" height="169" src="//www.33rdsquare.com/wp-content/uploads/2021/12/Best-Place-to-Buy-Liquidation-Pallets-300x169.jpg" srcset=" //www.33rdsquare.com/wp-content/uploads/2021/12/Best-Place-to-Buy-Liquidation-Pallets-300x169.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2021/12/Best-Place-to-Buy-Liquidation-Pallets-768x432.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2021/12/Best-Place-to-Buy-Liquidation-Pallets.jpg 800w " alt="10 Best Place to Buy Liquidation Pallets" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" >10 Best Place to Buy Liquidation Pallets</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Charlene Farwell</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/goat-vs-stockx/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="169" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20169'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2023/11/GOAT-vs.-StockX-300x169.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2023/11/GOAT-vs.-StockX-768x432.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2023/11/GOAT-vs.-StockX.jpg 1000w " alt="GOAT vs. StockX – Which Is Best For Buying Sneakers?! (Comparison 2024)" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2023/11/GOAT-vs.-StockX-300x169.jpg" /><noscript><img width="300" height="169" src="//www.33rdsquare.com/wp-content/uploads/2023/11/GOAT-vs.-StockX-300x169.jpg" srcset=" //www.33rdsquare.com/wp-content/uploads/2023/11/GOAT-vs.-StockX-300x169.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2023/11/GOAT-vs.-StockX-768x432.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2023/11/GOAT-vs.-StockX.jpg 1000w " alt="GOAT vs. StockX – Which Is Best For Buying Sneakers?! (Comparison 2024)" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" >GOAT vs. StockX – Which Is Best For Buying Sneakers?! (Comparison 2024)</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Kara Masterson</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/nike-net-worth/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="200" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20200'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-Is-Nike-Worth-300x200.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-Is-Nike-Worth-1024x683.jpg 1024w, //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-Is-Nike-Worth-768x512.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-Is-Nike-Worth.jpg 1200w " alt="Nike Net Worth 2024: How Much Is Nike Worth Right Now?" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-Is-Nike-Worth-300x200.jpg" /><noscript><img width="300" height="200" src="//www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-Is-Nike-Worth-300x200.jpg" srcset=" //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-Is-Nike-Worth-300x200.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-Is-Nike-Worth-1024x683.jpg 1024w, //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-Is-Nike-Worth-768x512.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-Is-Nike-Worth.jpg 1200w " alt="Nike Net Worth 2024: How Much Is Nike Worth Right Now?" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" >Nike Net Worth 2024: How Much Is Nike Worth Right Now?</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Kara Masterson</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/is-200-mbps-good-for-gaming/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="167" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20167'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2022/04/Is-200-Mbps-Good-for-Gaming-300x167.png 300w, //www.33rdsquare.com/wp-content/uploads/2022/04/Is-200-Mbps-Good-for-Gaming-768x427.png 768w, //www.33rdsquare.com/wp-content/uploads/2022/04/Is-200-Mbps-Good-for-Gaming.png 900w " alt="Is 200 Mbps Good for Gaming? Speed Up!" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2022/04/Is-200-Mbps-Good-for-Gaming-300x167.png" /><noscript><img width="300" height="167" src="//www.33rdsquare.com/wp-content/uploads/2022/04/Is-200-Mbps-Good-for-Gaming-300x167.png" srcset=" //www.33rdsquare.com/wp-content/uploads/2022/04/Is-200-Mbps-Good-for-Gaming-300x167.png 300w, //www.33rdsquare.com/wp-content/uploads/2022/04/Is-200-Mbps-Good-for-Gaming-768x427.png 768w, //www.33rdsquare.com/wp-content/uploads/2022/04/Is-200-Mbps-Good-for-Gaming.png 900w " alt="Is 200 Mbps Good for Gaming? Speed Up!" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" >Is 200 Mbps Good for Gaming? Speed Up!</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Kara Masterson</span></div></div></a></li></ul></div><p></p> </div> <div class="widget-area sidebar is-right-sidebar grid-25 tablet-grid-25 grid-parent" id="right-sidebar"> <div class="inside-right-sidebar"> <aside id="custom_html-7" class="widget_text widget inner-padding widget_custom_html"><div class="textwidget custom-html-widget"><script type="rocketlazyloadscript" async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- skyscraper banner --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-7152359349184850" data-ad-slot="1781510753" data-ad-format="auto" data-full-width-responsive="true"></ins> <script type="rocketlazyloadscript"> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div></aside><aside id="monsterinsights-popular-posts-widget-2" class="widget inner-padding monsterinsights-popular-posts-widget"><div class="monsterinsights-widget-popular-posts monsterinsights-widget-popular-posts-echo monsterinsights-popular-posts-styled monsterinsights-widget-popular-posts-columns-1"><ul class="monsterinsights-widget-popular-posts-list"><li ><a href="https://www.33rdsquare.com/how-much-is-youtube-worth/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="200" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20200'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-is-YouTubes-Net-Worth-300x200.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-is-YouTubes-Net-Worth-1024x683.jpg 1024w, //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-is-YouTubes-Net-Worth-768x512.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-is-YouTubes-Net-Worth.jpg 1200w " alt="How Much is YouTube Worth? Over $180bn in 2024" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-is-YouTubes-Net-Worth-300x200.jpg" /><noscript><img width="300" height="200" src="//www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-is-YouTubes-Net-Worth-300x200.jpg" srcset=" //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-is-YouTubes-Net-Worth-300x200.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-is-YouTubes-Net-Worth-1024x683.jpg 1024w, //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-is-YouTubes-Net-Worth-768x512.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2023/02/How-Much-is-YouTubes-Net-Worth.jpg 1200w " alt="How Much is YouTube Worth? Over $180bn in 2024" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" style="color:#393F4C;font-size:16px;">How Much is YouTube Worth? Over $180bn in 2024</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Kara Masterson</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/wireless-coax-cable-transmitters/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="169" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20169'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2021/01/Wireless-Coax-Cable-Transmitters-300x169.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2021/01/Wireless-Coax-Cable-Transmitters-768x432.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2021/01/Wireless-Coax-Cable-Transmitters.jpg 800w " alt="Best Wireless Coax Cable Transmitters" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2021/01/Wireless-Coax-Cable-Transmitters-300x169.jpg" /><noscript><img width="300" height="169" src="//www.33rdsquare.com/wp-content/uploads/2021/01/Wireless-Coax-Cable-Transmitters-300x169.jpg" srcset=" //www.33rdsquare.com/wp-content/uploads/2021/01/Wireless-Coax-Cable-Transmitters-300x169.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2021/01/Wireless-Coax-Cable-Transmitters-768x432.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2021/01/Wireless-Coax-Cable-Transmitters.jpg 800w " alt="Best Wireless Coax Cable Transmitters" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" style="color:#393F4C;font-size:16px;">Best Wireless Coax Cable Transmitters</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Kara Masterson</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/how-to-see-your-most-played-songs-on-apple-music/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="167" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20167'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2023/03/How-to-See-Your-Most-Played-Songs-on-Apple-Music-300x167.png 300w, //www.33rdsquare.com/wp-content/uploads/2023/03/How-to-See-Your-Most-Played-Songs-on-Apple-Music-768x427.png 768w, //www.33rdsquare.com/wp-content/uploads/2023/03/How-to-See-Your-Most-Played-Songs-on-Apple-Music.png 900w " alt="How to See Your Most Played Songs on Apple Music" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2023/03/How-to-See-Your-Most-Played-Songs-on-Apple-Music-300x167.png" /><noscript><img width="300" height="167" src="//www.33rdsquare.com/wp-content/uploads/2023/03/How-to-See-Your-Most-Played-Songs-on-Apple-Music-300x167.png" srcset=" //www.33rdsquare.com/wp-content/uploads/2023/03/How-to-See-Your-Most-Played-Songs-on-Apple-Music-300x167.png 300w, //www.33rdsquare.com/wp-content/uploads/2023/03/How-to-See-Your-Most-Played-Songs-on-Apple-Music-768x427.png 768w, //www.33rdsquare.com/wp-content/uploads/2023/03/How-to-See-Your-Most-Played-Songs-on-Apple-Music.png 900w " alt="How to See Your Most Played Songs on Apple Music" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" style="color:#393F4C;font-size:16px;">How to See Your Most Played Songs on Apple Music</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Charlene Farwell</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/3d-tattoos/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="158" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20158'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2022/03/3D-Tattoo-300x158.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2022/03/3D-Tattoo-768x404.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2022/03/3D-Tattoo.jpg 950w " alt="165 Amazing 3D Tattoos That Will Boggle Your Mind (2024)" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2022/03/3D-Tattoo-300x158.jpg" /><noscript><img width="300" height="158" src="//www.33rdsquare.com/wp-content/uploads/2022/03/3D-Tattoo-300x158.jpg" srcset=" //www.33rdsquare.com/wp-content/uploads/2022/03/3D-Tattoo-300x158.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2022/03/3D-Tattoo-768x404.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2022/03/3D-Tattoo.jpg 950w " alt="165 Amazing 3D Tattoos That Will Boggle Your Mind (2024)" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" style="color:#393F4C;font-size:16px;">165 Amazing 3D Tattoos That Will Boggle Your Mind (2024)</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Kara Masterson</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/legal-tint-in-california/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="158" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20158'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2020/11/California-Car-Window-Tint-Law-300x158.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2020/11/California-Car-Window-Tint-Law-768x404.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2020/11/California-Car-Window-Tint-Law.jpg 950w " alt="California Window Tint Laws 2024: See What’s Legal" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2020/11/California-Car-Window-Tint-Law-300x158.jpg" /><noscript><img width="300" height="158" src="//www.33rdsquare.com/wp-content/uploads/2020/11/California-Car-Window-Tint-Law-300x158.jpg" srcset=" //www.33rdsquare.com/wp-content/uploads/2020/11/California-Car-Window-Tint-Law-300x158.jpg 300w, //www.33rdsquare.com/wp-content/uploads/2020/11/California-Car-Window-Tint-Law-768x404.jpg 768w, //www.33rdsquare.com/wp-content/uploads/2020/11/California-Car-Window-Tint-Law.jpg 950w " alt="California Window Tint Laws 2024: See What’s Legal" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" style="color:#393F4C;font-size:16px;">California Window Tint Laws 2024: See What’s Legal</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Clarence Booth</span></div></div></a></li><li ><a href="https://www.33rdsquare.com/do-amazon-gift-cards-expire/"><div class="monsterinsights-widget-popular-posts-image"><img width="300" height="167" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20300%20167'%3E%3C/svg%3E" data-lazy-srcset=" //www.33rdsquare.com/wp-content/uploads/2022/05/Do-Amazon-Gift-Cards-Expire-300x167.png 300w, //www.33rdsquare.com/wp-content/uploads/2022/05/Do-Amazon-Gift-Cards-Expire-768x427.png 768w, //www.33rdsquare.com/wp-content/uploads/2022/05/Do-Amazon-Gift-Cards-Expire.png 900w " alt="Do Amazon Gift Cards Expire in 2024? Nope! All Explained" data-lazy-src="//www.33rdsquare.com/wp-content/uploads/2022/05/Do-Amazon-Gift-Cards-Expire-300x167.png" /><noscript><img width="300" height="167" src="//www.33rdsquare.com/wp-content/uploads/2022/05/Do-Amazon-Gift-Cards-Expire-300x167.png" srcset=" //www.33rdsquare.com/wp-content/uploads/2022/05/Do-Amazon-Gift-Cards-Expire-300x167.png 300w, //www.33rdsquare.com/wp-content/uploads/2022/05/Do-Amazon-Gift-Cards-Expire-768x427.png 768w, //www.33rdsquare.com/wp-content/uploads/2022/05/Do-Amazon-Gift-Cards-Expire.png 900w " alt="Do Amazon Gift Cards Expire in 2024? Nope! All Explained" /></noscript></div><div class="monsterinsights-widget-popular-posts-text"><span class="monsterinsights-widget-popular-posts-title" style="color:#393F4C;font-size:16px;">Do Amazon Gift Cards Expire in 2024? Nope! All Explained</span><div class="monsterinsights-widget-popular-posts-meta" ><span class="monsterinsights-widget-popular-posts-author">by Kara Masterson</span></div></div></a></li></ul></div><p></p></aside><aside id="yarpp_widget-3" class="widget inner-padding widget_yarpp_widget"><h2 class="widget-title">You may also like</h2><div class='yarpp yarpp-related yarpp-related-widget yarpp-template-list'> <ol><li><a href="https://www.33rdsquare.com/curl-get-requests/" rel="bookmark">How to Send GET Requests With cURL</a></li><li><a href="https://www.33rdsquare.com/ebay-data-scraping-guide/" rel="bookmark">How to Scrape Data from eBay: A Comprehensive Guide</a></li><li><a href="https://www.33rdsquare.com/how-automate-competitors-benchmark-analysis/" rel="bookmark">How To Automate Competitors‘ & Benchmark Analysis With Python</a></li><li><a href="https://www.33rdsquare.com/how-to-build-web-scraper/" rel="bookmark">How to Build a Web Scraper: The Complete 2021 Guide</a></li><li><a href="https://www.33rdsquare.com/how-to-scrape-google-search-results/" rel="bookmark">How to Scrape Google Search Results: Python Tutorial</a></li><li><a href="https://www.33rdsquare.com/rotate-proxies-python/" rel="bookmark">The Complete Guide to Rotating Proxies in Python</a></li><li><a href="https://www.33rdsquare.com/scrapy-web-scraping-tutorial/" rel="bookmark">Extracting Gold from the Web: A Comprehensive Tutorial on Web Scraping with Scrapy</a></li><li><a href="https://www.33rdsquare.com/wget-proxy/" rel="bookmark">How to Use Wget With Proxy</a></li></ol> </div> </aside><aside id="custom_html-6" class="widget_text widget inner-padding widget_custom_html"><div class="textwidget custom-html-widget"><script type="rocketlazyloadscript" async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- 33rd side --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-7152359349184850" data-ad-slot="8346919108" data-ad-format="auto" data-full-width-responsive="true"></ins> <script type="rocketlazyloadscript"> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div></aside> </div> </div> </div> </div> <div class="site-footer footer-bar-active footer-bar-align-right"> <footer class="site-info" aria-label="Site" itemtype="https://schema.org/WPFooter" itemscope> <div class="inside-site-info grid-container grid-parent"> <div class="footer-bar"> <aside id="custom_html-9" class="widget_text widget inner-padding widget_custom_html"><div class="textwidget custom-html-widget"><a href="https://www.33rdsquare.com/about-us/" rel="nofollow"><strong>About Us</strong></a> • <a href="https://www.33rdsquare.com/contact/" rel="nofollow"><strong>Contact</strong></a> • <a href="https://www.33rdsquare.com/disclaimer/" rel="nofollow"><strong>Disclaimer</strong></a> • <a href="https://www.33rdsquare.com/privacy-policy/" rel="nofollow"><strong>Privacy Policy</strong></a></div></aside> </div> <div class="copyright-bar"> © 2024 33rdSquare.com Own by Urban Walkabout Ltd. </div> </div> </footer> </div> <a title="Scroll back to top" aria-label="Scroll back to top" rel="nofollow" href="#" class="generate-back-to-top" style="opacity:0;visibility:hidden;" data-scroll-speed="400" data-start-scroll="300"> </a> <nav id="generate-slideout-menu" class="main-navigation slideout-navigation" itemtype="https://schema.org/SiteNavigationElement" itemscope style="display: none;"> <div class="inside-navigation grid-container grid-parent"> <div class="main-nav"><ul id="menu-primary-2" class=" slideout-menu"><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-7303"><a rel="nofollow" href="https://www.33rdsquare.com/category/electronics/">Electronics<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7304"><a rel="nofollow" href="https://www.33rdsquare.com/category/electronics/cameras/">Camera</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7345"><a rel="nofollow" href="https://www.33rdsquare.com/category/electronics/smartwatch/">Smartwatch</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7349"><a rel="nofollow" href="https://www.33rdsquare.com/category/electronics/smartphones/">Smartphones</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7342"><a rel="nofollow" href="https://www.33rdsquare.com/category/electronics/laptops/">Laptops</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7340"><a rel="nofollow" href="https://www.33rdsquare.com/category/electronics/headphones/">Headphones</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7305"><a rel="nofollow" href="https://www.33rdsquare.com/category/electronics/headphones/">Headphones</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7338"><a rel="nofollow" href="https://www.33rdsquare.com/category/electronics/accessories-electronics/">Accessories</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7339"><a rel="nofollow" href="https://www.33rdsquare.com/category/electronics/drone/">Drone</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7343"><a rel="nofollow" href="https://www.33rdsquare.com/category/electronics/smart-home/">Smart Home</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-7356"><a rel="nofollow" href="https://www.33rdsquare.com/category/health-fitness/">Health & Fitness<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7358"><a rel="nofollow" href="https://www.33rdsquare.com/category/health-fitness/wearable/">Wearable Technology</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-7307"><a rel="nofollow" href="https://www.33rdsquare.com/category/home/">Home Improvement<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7352"><a rel="nofollow" href="https://www.33rdsquare.com/category/home/kitchen/">Kitchen</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7351"><a rel="nofollow" href="https://www.33rdsquare.com/category/home/furniture/">Furniture</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7309"><a rel="nofollow" href="https://www.33rdsquare.com/category/home/water-filters-and-purifiers/">Water Filters & Purifiers</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7355"><a rel="nofollow" href="https://www.33rdsquare.com/category/home/vacuum/">Vacuums</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7350"><a rel="nofollow" href="https://www.33rdsquare.com/category/home/cleaning/">Cleaning</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7308"><a rel="nofollow" href="https://www.33rdsquare.com/category/home/tools/">Tools & Accessories</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-7357"><a rel="nofollow" href="https://www.33rdsquare.com/category/outdoor/">Outdoor<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-10100"><a rel="nofollow" href="https://www.33rdsquare.com/category/outdoor/footwear/">Footwear</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-7311"><a rel="nofollow" href="https://www.33rdsquare.com/category/sleep/">Sleep<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7312"><a rel="nofollow" href="https://www.33rdsquare.com/category/sleep/mattress/">Mattress</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7313"><a rel="nofollow" href="https://www.33rdsquare.com/category/sleep/pillow/">Pillows</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7337"><a rel="nofollow" href="https://www.33rdsquare.com/category/gadget/">Gadgets</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor menu-item-has-children menu-item-7354"><a rel="nofollow" href="https://www.33rdsquare.com/category/tech/">Technology<span role="presentation" class="dropdown-menu-toggle"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-8909"><a rel="nofollow" href="https://www.33rdsquare.com/category/tech/photography/">Photography</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-7353"><a rel="nofollow" href="https://www.33rdsquare.com/category/tech/ai/">Artificial Intelligence & Machine Learning & ChatGPT</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-19851"><a rel="nofollow" href="https://www.33rdsquare.com/category/tech/data-analysis/">Data Analysis</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-10101"><a rel="nofollow" href="https://www.33rdsquare.com/category/tech/data-scraping/">Data Scraping</a></li> <li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-19852"><a rel="nofollow" href="https://www.33rdsquare.com/category/tech/data-mining/">Data Mining</a></li> </ul> </li> </ul></div> </div><!-- .inside-navigation --> </nav><!-- #site-navigation --> <div class="slideout-overlay"> <button class="slideout-exit "> <span class="screen-reader-text">Close</span> </button> </div> <ul class="obfx-sharing obfx-sharing-left obfx-sharing-bottom "> <li class=""> <a class = "facebook" aria-label="Facebook" href="https://www.facebook.com/sharer.php?u=https://www.33rdsquare.com/web-scraping-php/"> <i class="socicon-facebook"></i> </a> </li> <li class=""> <a class = "twitter" aria-label="Twitter" href="https://twitter.com/intent/tweet?url=https://www.33rdsquare.com/web-scraping-php/&text=Hello%20Friend,%20Let‘s%20Learn%20Web%20Scraping%20With%20PHP&hashtags=Data%20Scraping"> <i class="socicon-twitter"></i> </a> </li> <li class=""> <a class = "pinterest" aria-label="Pinterest" href="https://pinterest.com/pin/create/bookmarklet/?media=&url=https://www.33rdsquare.com/web-scraping-php/&description=Hello%20Friend,%20Let‘s%20Learn%20Web%20Scraping%20With%20PHP"> <i class="socicon-pinterest"></i> </a> </li> <li class=""> <a class = "linkedin" aria-label="LinkedIn" href="https://www.linkedin.com/shareArticle?url=https://www.33rdsquare.com/web-scraping-php/&title=Hello%20Friend,%20Let‘s%20Learn%20Web%20Scraping%20With%20PHP"> <i class="socicon-linkedin"></i> </a> </li> <li class=""> <a class = "mail" aria-label="Email" href="mailto:?&subject=Hello%20Friend,%20Let‘s%20Learn%20Web%20Scraping%20With%20PHP&body=https://www.33rdsquare.com/web-scraping-php/"> <i class="socicon-mail"></i> </a> </li> </ul> <script type="rocketlazyloadscript" id="generate-a11y">!function(){"use strict";if("querySelector"in document&&"addEventListener"in window){var e=document.body;e.addEventListener("mousedown",function(){e.classList.add("using-mouse")}),e.addEventListener("keydown",function(){e.classList.remove("using-mouse")})}}();</script><script type="rocketlazyloadscript" data-rocket-type="text/javascript">window.addEventListener('DOMContentLoaded', function() { /* MonsterInsights Scroll Tracking */ if ( typeof(jQuery) !== 'undefined' ) { jQuery( document ).ready(function(){ function monsterinsights_scroll_tracking_load() { if ( ( typeof(__gaTracker) !== 'undefined' && __gaTracker && __gaTracker.hasOwnProperty( "loaded" ) && __gaTracker.loaded == true ) || ( typeof(__gtagTracker) !== 'undefined' && __gtagTracker ) ) { (function(factory) { factory(jQuery); }(function($) { /* Scroll Depth */ "use strict"; var defaults = { percentage: true }; var $window = $(window), cache = [], scrollEventBound = false, lastPixelDepth = 0; /* * Plugin */ $.scrollDepth = function(options) { var startTime = +new Date(); options = $.extend({}, defaults, options); /* * Functions */ function sendEvent(action, label, scrollDistance, timing) { if ( 'undefined' === typeof MonsterInsightsObject || 'undefined' === typeof MonsterInsightsObject.sendEvent ) { return; } var paramName = action.toLowerCase(); var fieldsArray = { send_to: 'G-QC0XEYXJ9V', non_interaction: true }; fieldsArray[paramName] = label; if (arguments.length > 3) { fieldsArray.scroll_timing = timing MonsterInsightsObject.sendEvent('event', 'scroll_depth', fieldsArray); } else { MonsterInsightsObject.sendEvent('event', 'scroll_depth', fieldsArray); } } function calculateMarks(docHeight) { return { '25%' : parseInt(docHeight * 0.25, 10), '50%' : parseInt(docHeight * 0.50, 10), '75%' : parseInt(docHeight * 0.75, 10), /* Cushion to trigger 100% event in iOS */ '100%': docHeight - 5 }; } function checkMarks(marks, scrollDistance, timing) { /* Check each active mark */ $.each(marks, function(key, val) { if ( $.inArray(key, cache) === -1 && scrollDistance >= val ) { sendEvent('Percentage', key, scrollDistance, timing); cache.push(key); } }); } function rounded(scrollDistance) { /* Returns String */ return (Math.floor(scrollDistance/250) * 250).toString(); } function init() { bindScrollDepth(); } /* * Public Methods */ /* Reset Scroll Depth with the originally initialized options */ $.scrollDepth.reset = function() { cache = []; lastPixelDepth = 0; $window.off('scroll.scrollDepth'); bindScrollDepth(); }; /* Add DOM elements to be tracked */ $.scrollDepth.addElements = function(elems) { if (typeof elems == "undefined" || !$.isArray(elems)) { return; } $.merge(options.elements, elems); /* If scroll event has been unbound from window, rebind */ if (!scrollEventBound) { bindScrollDepth(); } }; /* Remove DOM elements currently tracked */ $.scrollDepth.removeElements = function(elems) { if (typeof elems == "undefined" || !$.isArray(elems)) { return; } $.each(elems, function(index, elem) { var inElementsArray = $.inArray(elem, options.elements); var inCacheArray = $.inArray(elem, cache); if (inElementsArray != -1) { options.elements.splice(inElementsArray, 1); } if (inCacheArray != -1) { cache.splice(inCacheArray, 1); } }); }; /* * Throttle function borrowed from: * Underscore.js 1.5.2 * http://underscorejs.org * (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Underscore may be freely distributed under the MIT license. */ function throttle(func, wait) { var context, args, result; var timeout = null; var previous = 0; var later = function() { previous = new Date; timeout = null; result = func.apply(context, args); }; return function() { var now = new Date; if (!previous) previous = now; var remaining = wait - (now - previous); context = this; args = arguments; if (remaining <= 0) { clearTimeout(timeout); timeout = null; previous = now; result = func.apply(context, args); } else if (!timeout) { timeout = setTimeout(later, remaining); } return result; }; } /* * Scroll Event */ function bindScrollDepth() { scrollEventBound = true; $window.on('scroll.scrollDepth', throttle(function() { /* * We calculate document and window height on each scroll event to * account for dynamic DOM changes. */ var docHeight = $(document).height(), winHeight = window.innerHeight ? window.innerHeight : $window.height(), scrollDistance = $window.scrollTop() + winHeight, /* Recalculate percentage marks */ marks = calculateMarks(docHeight), /* Timing */ timing = +new Date - startTime; checkMarks(marks, scrollDistance, timing); }, 500)); } init(); }; /* UMD export */ return $.scrollDepth; })); jQuery.scrollDepth(); } else { setTimeout(monsterinsights_scroll_tracking_load, 200); } } monsterinsights_scroll_tracking_load(); }); } /* End MonsterInsights Scroll Tracking */ });</script> <script id="wpo_min-footer-0-js-extra"> var offSide = {"side":"left"}; </script> <script type="rocketlazyloadscript" src="//www.33rdsquare.com/wp-content/cache/wpo-minify/1713419650/assets/wpo-minify-footer-83602a72.min.js" id="wpo_min-footer-0-js" defer></script> <script type="rocketlazyloadscript" src="//assets.pinterest.com/js/pinit.js' async data-pin-hover='true' data-pin-height='28' data-pin-lang='english" id="pinit-js-js"></script> <script id="wpo_min-footer-2-js-extra"> var rmp_frontend = {"admin_ajax":"https:\/\/www.33rdsquare.com\/wp-admin\/admin-ajax.php","postID":"43031","noVotes":"No votes so far! Be the first to rate this post.","cookie":"You already voted! This vote will not be counted!","afterVote":"Thank you for rating this post!","notShowRating":"1","social":"1","feedback":"1","cookieDisable":"1","emptyFeedback":"Please insert your feedback in the box above!","hoverTexts":"1","preventAccidental":"1","grecaptcha":"1","siteKey":"6LcPeAYcAAAAAG8V4QWNvbucL5bUMV-7xZezHiqz","votingPriv":"1","loggedIn":"","positiveThreshold":"2","ajaxLoad":"1","disableClearCache":"1","nonce":"61f2760832"}; </script> <script type="rocketlazyloadscript" src="//www.33rdsquare.com/wp-content/cache/wpo-minify/1713419650/assets/wpo-minify-footer-957a13f9.min.js" id="wpo_min-footer-2-js" defer></script> <!--[if lte IE 11]> <script src="//www.33rdsquare.com/wp-content/themes/generatepress/assets/js/classList.min.js" id="generate-classlist-js"></script> <![endif]--> <script id="wpo_min-footer-4-js-extra"> var generatepressMenu = {"toggleOpenedSubMenus":"1","openSubMenuLabel":"Open Sub-Menu","closeSubMenuLabel":"Close Sub-Menu"}; var generatepressNavSearch = {"open":"Open Search Bar","close":"Close Search Bar"}; var generatepressBackToTop = {"smooth":"1"}; var _wpUtilSettings = {"ajax":{"url":"\/wp-admin\/admin-ajax.php"}}; var wpreview = {"ajaxurl":"https:\/\/www.33rdsquare.com\/wp-admin\/admin-ajax.php","popup":{"enable":"0","width":"800px","animation_in":"bounceIn","animation_out":"bounceOut","overlay_color":"#0b0b0b","overlay_opacity":"0.8","post_type":"post","queryby":"category","orderby":"random","category":"0","tag":"0","review_type":"star","limit":"6","expiration":"30","cookie_name":"wpr-popup","delay":"0","show_on_load":false,"show_on_reach_bottom":false,"exit_intent":true,"screen_size_check":false,"screen_width":"0","embed_show_title":"","embed_show_thumbnail":"","embed_show_excerpt":"","embed_show_rating_box":"","embed_show_credit":""},"rateAllFeatures":"Please rate all features","verifiedPurchase":"(Verified purchase)","commentImageUploadNonce":"6e16593ea5"}; </script> <script type="rocketlazyloadscript" src="//www.33rdsquare.com/wp-content/cache/wpo-minify/1713419650/assets/wpo-minify-footer-24594fe0.min.js" id="wpo_min-footer-4-js" defer></script> <!-- Shortcodes Ultimate custom CSS - start --> <style type="text/css"> #shadow1 { border: 1px solid; border-color: #808080; padding: 10px; box-shadow: 2px 3px 4px 3px #808080; } #shadow2 { border: 1px solid; padding: 10px; box-shadow: 2px 3px 4px 3px #484848; } </style> <!-- Shortcodes Ultimate custom CSS - end --> <script>window.lazyLoadOptions={elements_selector:"img[data-lazy-src],.rocket-lazyload,iframe[data-lazy-src]",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,callback_loaded:function(element){if(element.tagName==="IFRAME"&&element.dataset.rocketLazyload=="fitvidscompatible"){if(element.classList.contains("lazyloaded")){if(typeof window.jQuery!="undefined"){if(jQuery.fn.fitVids){jQuery(element).parent().fitVids()}}}}}};window.addEventListener('LazyLoad::Initialized',function(e){var lazyLoadInstance=e.detail.instance;if(window.MutationObserver){var observer=new MutationObserver(function(mutations){var image_count=0;var iframe_count=0;var rocketlazy_count=0;mutations.forEach(function(mutation){for(i=0;i<mutation.addedNodes.length;i++){if(typeof mutation.addedNodes[i].getElementsByTagName!=='function'){continue} if(typeof mutation.addedNodes[i].getElementsByClassName!=='function'){continue} images=mutation.addedNodes[i].getElementsByTagName('img');is_image=mutation.addedNodes[i].tagName=="IMG";iframes=mutation.addedNodes[i].getElementsByTagName('iframe');is_iframe=mutation.addedNodes[i].tagName=="IFRAME";rocket_lazy=mutation.addedNodes[i].getElementsByClassName('rocket-lazyload');image_count+=images.length;iframe_count+=iframes.length;rocketlazy_count+=rocket_lazy.length;if(is_image){image_count+=1} if(is_iframe){iframe_count+=1}}});if(image_count>0||iframe_count>0||rocketlazy_count>0){lazyLoadInstance.update()}});var b=document.getElementsByTagName("body")[0];var config={childList:!0,subtree:!0};observer.observe(b,config)}},!1)</script><script data-no-minify="1" async src="//www.33rdsquare.com/wp-content/plugins/wp-rocket/assets/js/lazyload/16.1/lazyload.min.js"></script><script>function lazyLoadThumb(e){var t='<img loading="lazy" data-lazy-src="//i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360"><noscript><img src="//i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360"></noscript>',a='<div class="play"></div>';return t.replace("ID",e)+a}function lazyLoadYoutubeIframe(){var e=document.createElement("iframe"),t="ID?autoplay=1";t+=0===this.dataset.query.length?'':'&'+this.dataset.query;e.setAttribute("src",t.replace("ID",this.dataset.src)),e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","1"),e.setAttribute("allow", "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"),this.parentNode.replaceChild(e,this)}document.addEventListener("DOMContentLoaded",function(){var e,t,a=document.getElementsByClassName("rll-youtube-player");for(t=0;t<a.length;t++)e=document.createElement("div"),e.setAttribute("data-id",a[t].dataset.id),e.setAttribute("data-query", a[t].dataset.query),e.setAttribute("data-src", a[t].dataset.src),e.innerHTML=lazyLoadThumb(a[t].dataset.id),e.onclick=lazyLoadYoutubeIframe,a[t].appendChild(e)});</script> </body> </html> <!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me --><script>(function(){if (!document.body) return;var js = "window['__CF$cv$params']={r:'883b654d7e7962a5',t:'MTcxNTY5NTAzMS43NTAwMDA='};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js',document.getElementsByTagName('head')[0].appendChild(_cpo);";var _0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position = 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility = 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi = _0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj = _0xi.createElement('script');_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if (document.readyState !== 'loading') {handler();} else if (window.addEventListener) {document.addEventListener('DOMContentLoaded', handler);} else {var prev = document.onreadystatechange || function () {};document.onreadystatechange = function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange = prev;handler();}};}})();</script>