Cleantech in the News: Scraping and Analysis of Online Articles

Thomas Kassel
Posted on Mar 4, 2017

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.

 

Introduction

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.

https://gist.github.com/thomas-kassel/ddfda6d8d6766fcfa09165e90dc56611

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 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.

ArticleCounts

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.

ArticleComments

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.countries(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 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

Avatar
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.
Avatar
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.
Avatar
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.
Avatar
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!
Avatar
respawnables hack of new bundles May 5, 2017
Thanks for the outstanding information, it actually is useful.
Avatar
lords mobile hack online May 5, 2017
This is a subject close to my heart cheers. Thanks
Avatar
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.
Avatar
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 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws 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 Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python python machine learning python scrapy python web scraping python webscraping Python Workshop R 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 Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp