Search engine scraping: Difference between revisions

Content deleted Content added
rmv spam
No edit summary
 
(6 intermediate revisions by 6 users not shown)
Line 4:
{{Original research|date=March 2021}}
}}
'''Search engine scraping''' isscraping refers to the processautomated ofextraction harvestingof [[URL]]s, descriptions, orand other informationdata from [[search engine]]s results. ThisIt is a specificspecialized formsubset of [[screenweb scraping]] orfocused [[webexclusively scraping]] dedicated toon search enginesengine onlycontent.
 
Most commonly larger [[search engine optimization]] (SEO) providers depend on regularly scraping keywords from search engines to monitor the competitive position of their customers' websites for relevant keywords or their [[search engine indexing|indexing]] status.
Line 13:
Google is by far the largest search engine with most users in numbers as well as most revenue in creative advertisements, which makes Google the most important search engine to scrape for SEO related companies.<ref>{{cite web|url=http://searchengineland.com/google-worlds-most-popular-search-engine-148089|title=Google Still World's Most Popular Search Engine By Far, But Share Of Unique Searchers Dips Slightly|date=11 February 2013|website=searchengineland.com}}</ref>
 
Although Google does not take legal action against scraping, it uses a range of defensive methods that makes scraping their results a challenging task, even when the scraping tool is realistically [[Spoofing attack|spoofing]] a normal [[web browser]]:
* Google is using a complex system of request rate limitation which can vary for each language, country, User-Agent as well as depending on the keywords or search parameters. The rate limitation can make it unpredictable when accessing a search engine automated, as the behaviour patterns are not known to the outside developer or user.
* Network and [[IP address|IP]] limitations are as well part of the scraping defense systems. Search engines can not easily be tricked by changing to another IP, while using proxies is a very important part in successful scraping. The diversity and abusive history of an IP is important as well.
Line 33:
 
== Methods of scraping ==
{{unref-section|date=July 2024}}
To scrape a search engine successfully, the two major factors are time and amount.
 
The more keywords a user needs to scrape and the smaller the time for the job, the more difficult scraping will be and the more developed a scraping script or tool needs to be.
 
Scraping scripts need to overcome a few technical challenges:{{cn|date=July 2024}}
 
* Utilizing IP rotation with proxies. These proxies should be exclusive (unshared) and not flagged on any blacklists.
Line 44:
* Correct handling of URL parameters, cookies as well as HTTP headers to emulate a user with a typical browser
*HTML [[Document Object Model|DOM]] parsing (extracting URLs, descriptions, ranking position, sitelinks and other relevant data from the HTML code)
* Error handling, automated reaction on captcha or block pages and other unusual responses{{cn|date=July 2024}}
 
== Programming languages ==
{{unref-section|date=July 2024}}
When developing a scraper for a search engine, almost any programming language can be used. Although, depending on performance requirements, some languages will be favorable.