3 ms·
Here's a good answer I found about diffbot from quora: https://www.quora.com/What-is-the-best-solution-for-an-automated-web-scraping-solution https://www.quora
by jorgecurio 11y ago
Here's a good answer I found about diffbot from quora:
https://www.quora.com/What-is-the-best-solution-for-an-automated-web-scraping-solution https://www.quora.com/What-is-the-best-solution-for-an-autom...
However, I tried it out and found diffbot failed for a lot of websites I wanted to crawl. Seems to work well enough for pulling meta data like title of the page, blog post titles etc, but anything beyond that it struggled. And since I don't know what the algorithm is doing or have any insight to how it works.
I rather much have a tool where I can have the accuracy and control and without having to write a full web scraper and running on an actual browser, not phantomjs or Webkit derivation where I have no visual feed back of what the scraper is doing. Like often, I want a live video of what the crawler is doing. What is it clicking on? Where is the website slowing down? Log file feels limiting.
Also, It's more than just crawling the website now. There's a lot of single page apps and edge cases where I find majority of tools fail. Requiring clicking on angular.js links, rendering javascript or websites requiring extension to be installed, needing to login to a website that redirects domain multiple times, trying out every single permutation of dropdown, checkbox, keywords in input form and crawling the search results with infinite scroll...some websites even give you bogus data because they can detect you are not using a real browser.
90~95% accuracy means jack all if 5% represents 99% of the value to you. It's actually not that hard to achieve an automated solution but it's when it fails for that one website you rely on for most of your data extraction needs, then it becomes a question of how fast can you debug and fix the situation....tough to do when you don't have the means to do it yourself.
https://www.cs.uic.edu/~liub/publications/kdd2003-dataRecord.pdf https://www.cs.uic.edu/~liub/publications/kdd2003-dataRecord...
on the computer vision related front:
http://ir.lib.uwo.ca/cgi/viewcontent.cgi?article=3296&context=etd http://ir.lib.uwo.ca/cgi/viewcontent.cgi?article=3296&contex...
http://repository.cmu.edu/cgi/viewcontent.cgi?article=1045&context=architecture http://repository.cmu.edu/cgi/viewcontent.cgi?article=1045&c...
here's a good 'snapshot' overview of where we are with Automated data extraction:
http://repository.cmu.edu/cgi/viewcontent.cgi?article=1045&context=architecture http://repository.cmu.edu/cgi/viewcontent.cgi?article=1045&c...
and surprise surprise guess who has the best research on this front (public), it's Microsoft!
http://research.microsoft.com/en-us/um/people/sumitg/pubs/pldi14-flashextract.pdf http://research.microsoft.com/en-us/um/people/sumitg/pubs/pl...
here's there computer vision approach called ViDE a while ago but was abandoned (?) no news since then:
http://research.microsoft.com/en-us/people/jrwen/vips_technical_report.pdf http://research.microsoft.com/en-us/people/jrwen/vips_techni...
Most scraping/crawling tools are super easy to use like Mozenda and you can outsource it on freelancer to get people to create the crawlers for you. However, I soon gave up because mozenda charges like $0.10 CAD cents for each page downloaded (intermediate pages too) due to using their anonymous proxies and I ended up just giving up. Would be great if somebody like Mozenda offered an unmetered plan and preferably with some type of rotating proxies so I won't get throttled. I can imagine that diffbot is probably not using anything like that and running it straight from AWS which anyone who wants to block scrapers are able to add their public ip range to ufw. I'm finding it more and more difficult to scrape from AWS and other free scraping tools as website owners seem to block the AWS ip range mostly.
- dwynings 11y agoDru from Diffbot here. Sorry to hear about the issues you ran into when trying out Diffbot! If you have some examples, I'd like to take a look into whether we can improve. In cases where our automatic extraction using computer vision isn't 100% accurate, we offer a visual interface for actually overriding our default extraction. This input is then used as additional training data for the ML models. Mozenda et al. are great if you only need data from a couple of sites and you don't mind spending time manually specifying and maintaining CSS selectors for each website and page layout you need data from. Our crawling, and proxy support, is fairly robust thanks to our hiring the creator of Gigablast [https://gigaom.com/2013/09/10/diffbot-brings-big-time-search-poobah-aboard-to-help-it-scale/ https://gigaom.com/2013/09/10/diffbot-brings-big-time-search...]. If you'd like to give Diffbot another go or you have some examples where the extraction could be improved, please let me know!
- jorgecurio 11y agoWhat proxies do you use and is it possible for us to use our own? I've never seen that ML visual interface, where can I find it? I'll give it another go