Data Scraping and Analysis of Online Articles From GreenTech

Posted on Mar 4, 2017
The skills the author demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
Contributed by Thomas Kassel. He is currently enrolled in the NYC Data Science Academy remote bootcamp program taking place from January-May 2017. This post is based on his third class project, web scraping, focusing on the use of web scraping techniques to acquire, process and analyze raw data from the web.


Clean technology continues to to advance with support from technological innovation, sustainability projects, financial incentives, and political programs. Given the field’s large scope, there is no shortage of media outlets covering the action. With the goal of tracking and analyzing recent cleantech news, I developed a web scraping framework using Python’s Scrapy, conducted natural language processing on the scraped data with Python’s TextBlob and visualized the results using R’s ggplot2.

Cleantech News Sources

Greentech Media is a leading provider of online media and research in the cleantech world, with an in-depth focus on renewables, energy efficiency, energy storage, grid modernization, green financing and environmental policy. I scraped 100+ online articles from the previous 3 months for the following information:

  • Article theme (singular, general topic of the article e.g. “solar” or “electric vehicles”)
  • Article tags (multiple, specific sub-topics referenced in the article e.g. “rooftop solar,” “california,” or “trump”)
  • Main article text
  • Number of reader comments

Cleantech 100 is an annual ranking of the top 100 up-and-coming companies in the cleantech community “most likely to have a big commercial impact in a 5-10 year timeframe.” The 2017 rankings were scraped from Cleantech 100’s website and the company names were used as anchors for text recognition in the Greentech Media articles.

Data Access

Python’s Scrapy framework is a fast and flexible web scraping method based upon the use of “spiders” (scripts with html parsing instructions) to gather online information and store it for further use. In this instance I used a specific Scrapy class called “crawl spider,” created by defining start URLs, a set of rules to inform the spider which links on the start page to follow, and set of instructions (specific xpath references) on how to parse, extract and save fields from the html at the destination page.

Let’s take a look at the spider used to gather information from Greentech Media’s articles.

For each article - 107 in total - the attributes (theme, tags, text body) were then stored as a Python dictionary in JSON format for further use. The 2017 Cleantech 100 companies were scraped using a very similar framework.

Natural Language Data Processing/Analysis

With the scraped data stored locally, I conducted text processing on the Greentech Media articles through the use of regular expressions, word/phrase frequencies, and sentiment analyzers from the Python TextBlob framework. The following questions were explored:

Topic Popularity - which cleantech topics have been most frequently covered in recent months?

As illustrated below, electric vehicles, policy, and energy storage are covered by 10 or more articles, collectively making up about a third of all articles published on Greentech Media in recent months. Interestingly, politics are usually of secondary focus on the website. Perhaps more policy coverage has been warranted lately, given the current political climate and uncertainty around the Trump administration’s effect on environmental issues.

Data Scraping and Analysis of Online Articles From GreenTech

Reader Reactions - how much reader interaction are the articles fostering? Do certain topics elicit larger reactions from the website’s reader base?

Greentech Media’s readers have the ability to submit their own two cents on a newsfeed-like comments section. We can observe from the histogram below that although many articles go uncommented (far left bin of each facet), a healthy number of articles elicit anywhere from 10-100 comments, with some generating more than 150. That may be due to the fact that certain polarizing themes spark more comments than a more objective or non-political topic. For example, most articles tagged with “energy storage” are uncommented; most articles tagged with “donald trump” show ~60 comments.

Data Scraping and Analysis of Online Articles From GreenTech

Proper Nouns - which entities receive high coverage from Greentech Media?

To get a pulse on the current “players” in the cleantech community, I conducted text searching for groups of proper nouns in all the articles. Lists of cleantech countries, people and companies were generated ad-hoc off of background knowledge, and a list of cleantech startups, as described earlier, was scraped from the Cleantech 100 online website.

  • Countries – countries playing a major role or with interests in the cleantech transformation
  • People – people with high influence or power (financial clout, political influence, thought leadership) in the cleantech industry
  • Companies – large, incumbent companies which are currently advancing, or have high potential to advance, the cleantech industry
  • Startups – early-stage companies with potential to have a large future impact on the industry

Regular expressions were used to identify total word counts for each proper noun. Additionally, using TextBlob, sentences from all articles were tokenized and analyzed for the relative polarity and subjectivity of that sentence. TextBlob gives each sentence a numeric polarity score ranging from -1 to 1, with a value of -1 indicating highly negative content and a value of 1 indicating highly positive content (0 being neutral); it also assigns each sentence a subjectivity score from 0 (completely objective) to 1 (completely subjective). An average for each of these scores was calculated across all sentences containing at least one mention of the given noun.


Since sentiment analyzers are an imperfect product of their training library, the choice of training library is an interesting tuning parameter, albeit beyond the scope of this blog post. The default sentiment analyzer used by TextBlob, and in this analysis, is trained using the pattern library.Data Scraping and Analysis of Online Articles From GreenTech(Countries) The U.S. receives by far the most mentions in Greentech Media’s articles. Developing nations China and India, although having less private cleantech innovation, are extremely relevant players in the global environmental discussion.

people(People) Cleantech magnate and entrepreneur Elon Musk is frequently mentioned, often with a slightly positive and subjective tone. Surprisingly, Donald Trump and Scott Pruitt (new EPA secretary), staunch opposers of the environmental agenda, are also mentioned in a positive light. This could be generally due to rising economic tides (and associated cleantech investment) during their administration so far.

companies(Large Companies) Elon Musk’s revolutionary electric car company, Tesla, although smaller than enormous global brand GE (General Electric), is helping to define the cleantech industry and mentioned very frequently in the articles.

startups(Startups) Unlike the other three lists, some startups tend to have slightly negative associations, perhaps due to the inherent uncertainty, risk and high failure rate of a startup environment. However, on the other end of the spectrum, Greentech Media’s articles appear to be in agreement with Cleantech 100’s high endorsement of some energy storage/grid modernization providers (Stem, Blue Pillar, etc) depicted in the top right.

About Author

Thomas Kassel

Thomas completed a B.A. at Wesleyan University, focusing on molecular neuroscience while completing additional coursework in math and economics. After transitioning from the life sciences into the field of clean technology he joined his current firm, energy efficiency...
View all posts by Thomas Kassel >

Related Articles

Leave a Comment

Asphalt Xtreme cheats September 2, 2017
Thankfulness to my father who shared with me on the topic of this blog, this blog is really remarkable.
dc legends hack August 15, 2017
If some one desires expert view about running a blog then i propose him/her to visit this web site, Keep up the good job.
Dwight July 20, 2017
Hi , I do believe this is a superior blog. I stumbled upon it on Yahoo , I am going to come back once again.
Tabitha July 20, 2017
Hi there! This post could not be written any better! Reading through this post reminds me of my previous room mate! He consistently kept talking about this. I will forward this article to him. Quite sure he'll have a great read. Thank you for sharing!
respawnables hack of new bundles May 5, 2017
Thanks for the outstanding information, it actually is useful.
lords mobile hack online May 5, 2017
This is a subject close to my heart cheers. Thanks
marvel contest of champions hack tool May 5, 2017
Hello , I do consider this is a superb site. I stumbled upon it on Yahoo , I am going to return once again.
respawnables hack unlimited ammo May 5, 2017
Saved as a favorite, I really like your blog!

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI