Friday, 27 September 2013

Visual Web Ripper: Using External Input Data Sources

Sometimes it is necessary to use external data sources to provide parameters for the scraping process. For example, you have a database with a bunch of ASINs and you need to scrape all product information for each one of them. As far as Visual Web Ripper is concerned, an input data source can be used to provide a list of input values to a data extraction project. A data extraction project will be run once for each row of input values.

An input data source is normally used in one of these scenarios:

    To provide a list of input values for a web form
    To provide a list of start URLs
    To provide input values for Fixed Value elements
    To provide input values for scripts

Visual Web Ripper supports the following input data sources:

    SQL Server Database
    MySQL Database
    OleDB Database
    CSV File
    Script (A script can be used to provide data from almost any data source)

To see it in action you can download a sample project that uses an input CSV file with Amazon ASIN codes to generate Amazon start URLs and extract some product data. Place both the project file and the input CSV file in the default Visual Web Ripper project folder (My Documents\Visual Web Ripper\Projects).

For further information please look at the manual topic, explaining how to use an input data source to generate start URLs.


Source: http://extract-web-data.com/visual-web-ripper-using-external-input-data-sources/

Thursday, 26 September 2013

Using External Input Data in Off-the-shelf Web Scrapers

There is a question I’ve wanted to shed some light upon for a long time already: “What if I need to scrape several URL’s based on data in some external database?“.

For example, recently one of our visitors asked a very good question (thanks, Ed):

    “I have a large list of amazon.com asin. I would like to scrape 10 or so fields for each asin. Is there any web scraping software available that can read each asin from a database and form the destination url to be scraped like http://www.amazon.com/gp/product/{asin} and scrape the data?”

This question impelled me to investigate this matter. I contacted several web scraper developers, and they kindly provided me with detailed answers that allowed me to bring the following summary to your attention:
Visual Web Ripper

An input data source can be used to provide a list of input values to a data extraction project. A data extraction project will be run once for each row of input values. You can find the additional information here.
Web Content Extractor

You can use the -at”filename” command line option to add new URLs from TXT or CSV file:

    WCExtractor.exe projectfile -at”filename” -s

projectfile: the file name of the project (*.wcepr) to open.
filename – the file name of the CSV or TXT file that contains URLs separated by newlines.
-s – starts the extraction process

You can find some options and examples here.
Mozenda

Since Mozenda is cloud-based, the external data needs to be loaded up into the user’s Mozenda account. That data can then be easily used as part of the data extracting process. You can construct URLs, search for strings that match your inputs, or carry through several data fields from an input collection and add data to it as part of your output. The easiest way to get input data from an external source is to use the API to populate data into a Mozenda collection (in the user’s account). You can also input data in the Mozenda web console by importing a .csv file or importing one through our agent building tool.

Once the data is loaded into the cloud, you simply initiate building a Mozenda web agent and refer to that Data list. By using the Load page action and the variable from the inputs, you can construct a URL like http://www.amazon.com/gp/product/%asin%.
Helium Scraper

Here is a video showing how to do this with Helium Scraper:

The video shows how to use the input data as URLs and as search terms. There are many other ways you could use this data, way too many to fit in a video. Also, if you know SQL, you could run a query to get the data directly from an external MS Access database like
SELECT * FROM [MyTable] IN "C:\MyDatabase.mdb"

Note that the database needs to be a “.mdb” file.
WebSundew Data Extractor
Basically this allow
s using input data from external data sources. This may be CSV, Excel file or a Database (MySQL, MSSQL, etc). Here you can see how to do this in the case of an external file, but you can do it with a database in a similar way (you just need to write an SQL script that returns the necessary data).
In addition to passing URLs from the external sources you can pass other input parameters as well (input fields, for example).
Screen Scraper

Screen Scraper is really designed to be interoperable with all sorts of databases. We have composed a separate article where you can find a tutorial and a sample project about scraping Amazon products based on a list of their ASINs.

Source: http://extract-web-data.com/using-external-input-data-in-off-the-shelf-web-scrapers/

Wednesday, 25 September 2013

A simple way to turn a website into JSON

Recently, while surfing the web I stumbled upon an simple web scraping service named Web Scrape Master. It is a kind of RESTful web service that extracts data from a specified web site and returns it to you in JSON format.
How it works

Though I don’t know what this service may be useful for, I still like its simplicity: all you need to do is to make an HTTP GET request, passing all necessary parameters in the query string:
http://webscrapemaster.com/api/?url={url}&xpath={xpath}&attr={attr}&callback={callback}

    url  - the URL of the website you want to scrape
    xpath – xpath determining the data you need to extract
    attr - attribute the name you need to get the value of (optional)
    callback - JSON callback function (optional)

For example, for the following request to our testing ground:

http://webscrapemaster.com/api/?url=http://testing-ground.extract-web-data.com/blocks&xpath=//div[@id=case1]/div[1]/span[1]/div

You will get the following response:

[{"text":"<div class='name'>Dell Latitude D610-1.73 Laptop Wireless Computer</div>","attrs":{"class":"name"}}]
Visual Web Scraper

Also, this service offers a special visual tool for building such requests. All you need to do is to enter the URL of the website and click to the element you need to scrape:
Visual Web Scraper
Conclusion

Though I understand that the developer of this service is attempting to create a simple web scraping service, it is still hard to imagine where it can be useful. The task that the service does can be easily accomplished by means of any language.

Probably if you already have software receiving JSON from the web, and you want to feed it with data from some website, then you may find this service useful. The other possible application is to hide your IP when you do web scraping. If you have other ideas, it would be great if you shared them with us.



Source: http://extract-web-data.com/a-simple-way-to-turn-a-website-into-json/

Tuesday, 24 September 2013

Selenium IDE and Web Scraping

Selenium is a browser automation framework that includes IDE, Remote Control server and bindings of various flavors including Java, .Net, Ruby, Python and other. In this post we touch on the basic structure of the framework and its application to  Web Scraping.
What is Selenium IDE


Selenium IDE is an integrated development environment for Selenium scripts. It is implemented as a Firefox plugin, and it allows recording browsers’ interactions in order to edit them. This works well for software tests, composing and debugging. The Selenium Remote Control is a server specific for a particular environment; it causes custom scripts to be implemented for controlled browsers. Selenium deploys on Windows, Linux, and iOS. How various Selenium components are supported with major browsers read here.
What does Selenium do and Web Scraping

Basically Selenium automates browsers. This ability is no doubt to be applied to web scraping. Since browsers (and Selenium) support JavaScript, jQuery and other methods working with dynamic content why not use this mix for benefit in web scraping, rather than to try to catch Ajax events with plain code? The second reason for this kind of scrape automation is browser-fasion data access (though today this is emulated with most libraries).

Yes, Selenium works to automate browsers, but how to control Selenium from a custom script to automate a browser for web scraping? There are Selenium PHP and other language libraries (bindings) providing for scripts to call and use Selenium. It is possible to write Selenium clients (using the libraries) in almost any language we prefer, for example Perl, Python, Java, PHP etc. Those libraries (API), along with a server, the Java written server that invokes browsers for actions, constitute the Selenum RC (Remote Control). Remote Control automatically loads the Selenium Core into the browser to control it. For more details in Selenium components refer to here.



A tough scrape task for programmer

“…cURL is good, but it is very basic.  I need to handle everything manually; I am creating HTTP requests by hand.
This gets difficult – I need to do a lot of work to make sure that the requests that I send are exactly the same as the requests that a browser would
send, both for my sake and for the website’s sake. (For my sake
because I want to get the right data, and for the website’s sake
because I don’t want to cause error messages or other problems on their site because I sent a bad request that messed with their web application).  And if there is any important javascript, I need to imitate it with PHP.
It would be a great benefit to me to be able to control a browser like Firefox with my code. It would solve all my problems regarding the emulation of a real browser…
it seems that Selenium will allow me to do this…” -Ryan S

Yes, that’s what we will consider below.
Scrape with Selenium

In order to create scripts that interact with the Selenium Server (Selenium RC, Selenium Remote Webdriver) or create local Selenium WebDriver script, there is the need to make use of language-specific client drivers (also called Formatters, they are included in the selenium-ide-1.10.0.xpi package). The Selenium servers, drivers and bindings are available at Selenium download page.
The basic recipe for scrape with Selenium:

    Use Chrome or Firefox browsers
    Get Firebug or Chrome Dev Tools (Cntl+Shift+I) in action.
    Install requirements (Remote control or WebDriver, libraries and other)
    Selenium IDE : Record a ‘test’ run thru a site, adding some assertions.
    Export as a Python (other language) script.
    Edit it (loops, data extraction, db input/output)
    Run script for the Remote Control

The short intro Slides for the scraping of tough websites with Python & Selenium are here (as Google Docs slides) and here (Slide Share).
Selenium components for Firefox installation guide

For how to install the Selenium IDE to Firefox see  here starting at slide 21. The Selenium Core and Remote Control installation instructions are there too.
Extracting for dynamic content using jQuery/JavaScript with Selenium

One programmer is doing a similar thing …

1. launch a selenium RC (remote control) server
2. load a page
3. inject the jQuery script
4. select the interested contents using jQuery/JavaScript
5. send back to the PHP client using JSON.

He particularly finds it quite easy and convenient to use jQuery for
screen scraping, rather than using PHP/XPath.
Conclusion

The Selenium IDE is the popular tool for browser automation, mostly for its software testing application, yet also in that Web Scraping techniques for tough dynamic websites may be implemented with IDE along with the Selenium Remote Control server. These are the basic steps for it:

    Record the ‘test‘ browser behavior in IDE and export it as the custom programming language script
    Formatted language script runs on the Remote Control server that forces browser to send HTTP requests and then script catches the Ajax powered responses to extract content.

Selenium based Web Scraping is an easy task for small scale projects, but it consumes a lot of memory resources, since for each request it will launch a new browser instance.



Source: http://extract-web-data.com/selenium-ide-and-web-scraping/

Monday, 23 September 2013

Data Entry Services Are Meant To Ease Your Workload

Data entry services provided by the firms are growing very rapidly with a huge demand. It may sound that data entry is a simple task to do but it is not so simple and plays an important role in running a successful business. We all know that data and information related to any company is very crucial for them. Data are priceless for any firm, no-matter they are small or big. The companies provide you highly customized business solutions depending on your requirement.

The companies also provide various range of services for all kinds of textual data capturing from printed matter, manuscripts, and even web research. Very advanced technologies are used to convert large quantities of paper work and image based task to electronic data that is usable in database and in the management system. Any kind of data is very essential for an organization whether it is manual or electronic.

There are many companies that provide highly accurate data entry services with complete confidentiality and high level of accuracy. These services are undertaken by banks, retail organizations, medical research facilities, universities, insurance companies, newspapers, large corporate enterprises, direct marketing and database marketing firms, school and trade associations to make their organization a successful and profitable enterprise.

Outsourcing is a business strategy which is highly being used by businesses to take care of the data entry services. In fact, the process of outsourcing has made things simpler for business owners and the businesses are running successfully. The companies that are involved in outsourcing work do provide these services efficiently to those firms who are burdened with heavy workload. If you are running a business of your own and want to manage it properly and run smoothly, then all you need to do is to hire data entry services.

Availing the benefits of outsourcing works in the form of data entry services can prove tremendous for your company. If you outsource your extra burden of work to a company then in such case, you can make growth plans and strategies for your organization. The companies will console you about the high quality of services and the accuracy they provide for the business that needs data to be extracted from any source.

Data entry services is an information technology enabled services that provides you wide range of services. The professionals working for you are trained and extremely talented who are ready to provide you high end services with full dedication. Since, you are spending money for this, so you must take the best services and choose those companies who can cater to your needs according to you.

Data entry services is not a complex application but it's extremely time taking and this the main reason for a company that hires this service so that they can save their time and money. Every business has many more things to consider for their growth prospects and for this reason they don't want to waste their time and money in such stuffs. The professionals are especially trained according to the requirement of the work depending on how critical the work is. Hiring for this service is definitely a wise decision for your business prospects. These types of services will surely help you to make big profits in the business. The strategy and techniques applied to any business is the key to success.




Source: http://ezinearticles.com/?Data-Entry-Services-Are-Meant-To-Ease-Your-Workload&id=538877

Sunday, 22 September 2013

Data Mining's Importance in Today's Corporate Industry

A large amount of information is collected normally in business, government departments and research & development organizations. They are typically stored in large information warehouses or bases. For data mining tasks suitable data has to be extracted, linked, cleaned and integrated with external sources. In other words, it is the retrieval of useful information from large masses of information, which is also presented in an analyzed form for specific decision-making.

Data mining is the automated analysis of large information sets to find patterns and trends that might otherwise go undiscovered. It is largely used in several applications such as understanding consumer research marketing, product analysis, demand and supply analysis, telecommunications and so on. Data Mining is based on mathematical algorithm and analytical skills to drive the desired results from the huge database collection.

It can be technically defined as the automated mining of hidden information from large databases for predictive analysis. Web mining requires the use of mathematical algorithms and statistical techniques integrated with software tools.

Data mining includes a number of different technical approaches, such as:

    Clustering
    Data Summarization
    Learning Classification Rules
    Finding Dependency Networks
    Analyzing Changes
    Detecting Anomalies

The software enables users to analyze large databases to provide solutions to business decision problems. Data mining is a technology and not a business solution like statistics. Thus the data mining software provides an idea about the customers that would be intrigued by the new product.

It is available in various forms like text, web, audio & video data mining, pictorial data mining, relational databases, and social networks. Data mining is thus also known as Knowledge Discovery in Databases since it involves searching for implicit information in large databases. The main kinds of data mining software are: clustering and segmentation software, statistical analysis software, text analysis, mining and information retrieval software and visualization software.

Data Mining therefore has arrived on the scene at the very appropriate time, helping these enterprises to achieve a number of complex tasks that would have taken up ages but for the advent of this marvelous new technology.

Our web research provides detailed information on data mining, business intelligence data mining, web data mining, online data research, web research services. We will closely work with you; we guarantee clear, focused and relevant information that meets your specifications. If you want to know about our web research services, please visit us: http://www.outsourcingwebresearch.com.




Source: http://ezinearticles.com/?Data-Minings-Importance-in-Todays-Corporate-Industry&id=2057401

Friday, 20 September 2013

Data Extraction Software Explained in Plain English

Data Extraction Software is designed to automatically collect data from web pages. A lot of money can be made with Data Extraction Software, but there are two types of program - custom made and typical.

Custom made solutions are designed by developers to extract from one particular source and they can't automatically adjust to another. So for example, if we are to create a custom-build data extraction program for website A, it won't work for website B, because they have different structures. Such custom made solutions cost more money than the standard ones, but they are designed for more complicated and unique situations.

Every data extraction program is based on an algorithm that has to be programmed in such a way that it will collect all the needed data from a given website. The reason why data extraction is so popular is that it saves on manual labor which can become expensive when outsourced. Data extraction software automates repetitive operations. For example, if you want to extract just the emails of every user in a given website, then you will have to pay a person to repeat the same steps over and over again like a robot. Those steps will most likely include clicking on the same place, then copying to the clipboard a piece of data that always resides on the same place on the screen.

Data extraction software is based on certain constants. By constants, I mean certain facts about a given program that do not change, no matter what. This is perhaps the only drawback of this type of software. But for the time being, it's the only way. The other way is to use artificial intelligence and make software programs think and make decisions like humans. They would have to adapt to new systems and it's almost unthinkable to consider such complicated solutions unless you are working on a very large scale.

The Bottom line here is that data extraction software is able to automate cycled operations that are otherwise expensive if handled by humans. Although the initial investment of money and time might seem expensive, it's definitely worth it in the long run, because your customized software will do the job in much less time, without the need for any human intervention.

So, if you are working on any task on the Internet, and you feel that task could be automated, then data extraction software maybe the solution you have been looking for.

For a deeper look into various data collection methods [http://www.datacollectionsoftwares.com] and more, such as Inventory Stock Control Software [http://www.datacollectionsoftwares.com/inventorystockcontrolsoftware.php], and WMS Software then one click could provide all the answers you've been looking for.




Source: http://ezinearticles.com/?Data-Extraction-Software-Explained-in-Plain-English&id=1477227