luni, 28 septembrie 2015

Scraping and Cleaning Your Data with Google Sheets: A Closer Look - Moz Blog

Scraping and Cleaning Your Data with Google Sheets: A Closer Look

Posted by Jeremy_Gottlieb

Have you ever wanted to automate pulling data from a web page—such as building a Twitter audience—and wanted a way to magically make all of the Twitter handles from the web page appear in your Google Sheet, but didn't know how? If learning Python isn't your cup of tea, using a few formulas in Google Sheets will allow you to easily and quickly scrape data from a URL that, were you to do so manually, could take hours.

For Windows users, Niels Bosma's amazing SEO plug-in for Excel is an option that could also be used for this purpose, but if you analyze data on a Mac, this tutorial on formulas in Google Sheets will help make your life much easier, as the plug-in doesn't work on Macs.

Within Google Sheets, there are 3 formulas that I like to use in order to save myself huge amounts of time and headspace. These are:

  1. IMPORTXML
  2. QUERY
  3. REGEXEXTRACT

With just these 3 formulas, you should be able to scrape and clean the data you need for whatever purpose you may come across—whether that be curating Twitter audiences, analyzing links, or anything else that you can think of. The beauty of these formulas is in their versatility, so the use cases for them are practically infinite. By understanding the concept behind this, the variables can be substituted depending on the individual use case. However, the essential process for scraping, cleaning and presenting data will remain the same.

It should be noted that scraping has limitations, and some sites (like Google) don't really want anyone scraping their content. The purpose of this post is purely to help you smart Moz readers pull and sort data even faster and more easily than you would've thought possible.

Let's find some funny people on Twitter we should follow (or target. Does it really matter?). Googling around the subject of funny people on Twitter, I find myself landing on the following page:

funny people url 2.png

Bingo. Straight copying and pasting into a Google Doc would be a disaster; there's simply way too much other content on the page. This is where IMPORTXML comes in.

The first step is to open up a Google Sheet and input the desired URL into a cell. It could be any cell, but in the example below, I placed the URL into cell A1.

importxml 1.png

Just before we begin with the scraping, we need to figure out exactly what data we plan on scraping. In this case, it happens to be Twitter handles, so this is how we're going to do it.

First, right click on our target (the Twitter handle) and click "Inspect Element."

inspect element.png

Once in "Inspect Element," we want to figure out where on the page our target lives.

twitter inspect element 2.png

Because we want the Twitter handle and not the URL, we're going to focus on the element/modifier/identifier "target" rather than "href" within the tags. We also happen to notice that the tags are "children" of the

tags. What these values mean is a topic for another post, but what we need to keep in mind is that for this particular URL, this is where our desired information lives that we need to extract. It will almost certainly live in a different area with different modifiers on any other given URL; this is just the information that's unique to the site we're on.

Let's get to the scary stuff (maybe?): how to write the formula.

importxml formula.png

I put the formula in cell A3, where I have the red arrow. As can be seen in the highlighted rectangle, I wrote =IMPORTXML(A1, "//h3//a[@target='_blank']"), which yielded a wonderful, organized list of all the top Twitter handles to follow from the page. Voila. Cool, right?

Something to remember when doing this is that the values have been created via a formula, so trying to copy and paste them regularly can get messy; you'll need to copy and paste as values.

Now, let's break down the madness.

Like any other function in Sheets, you'll need to begin with an equal sign, so we start with =IMPORTXML. Next, we find the cell with our targeted URL (in this case, cell A1) and then add a comma. Double quotation marks are always required to begin the query, followed by two forward slashes ("//"). Next, you select the element you want to scrape (in this case, the h3 tag). We don't want all of the information in the h3 elements, just a particular part of the tags—specifically, the "target" part where we find the Twitter handles. To capture this part, we add //a[@target='_blank'], which specifies only the target='_blank" part of the tag. Putting it all together, the formula =IMPORTXML(A1, "//h3//a[@target='_blank']") can be translated as "From the URL within cell A1, select the data with an

tag that is also within an tag and also part of the target attribute."

In this particular case, the Twitter handles were the only element that could be scraped based on our formula and how it was originally written within the HTML, but sometimes that's not the case. What if we were looking for travel bloggers and came across a site like the one seen below, where our desired Twitter handles are within a text paragraph?

female travel bloggers.png

Taking a look at the Inspect Element button, we see the following information:

sarah v2.png

In the top rectangle is the div and the class we need, and in the second rectangle is the other half of the information we require: the

tag. The

tag is used in html to specify where a given paragraph is. The Twitter handles we're looking for are located within a text paragraph, so we'll need to select the

tag as the element to scrape.

Once again, we input the URL into a cell (any empty cell works) and write out the new formula =IMPORTXML(A1, "//div[@class='span8 column_container']//p"). Instead of selecting all of the h3 elements like in the preceding example, this time we're finding all of the

tags within the div elements that have a class of "span8 column_container". The reason we're looking for

tags within div elements that have a class of "span8 column_container" is because there are other

tags on the page that contain information we likely won't need. All of the Twitter handles are contained with

tags within that specifically-classed div, so by selecting it, we'll have selected the most appropriate data.

However, the results of this are not perfect and look like this:

messy results.png

The results are less than ideal, but manageable nonetheless - we ultimately just want Twitter handles, but are provided with a whole bunch of other text. Highlighted in the green rectangle is a result closer to what I want, but not in the column I need (there's also another one down the page out of the view of the screenshot, but most are where I need them). To make sure we get all the data in the appropriate format, we can copy and paste values for everything within columns A–C, which will remove the values populated by formulas and replace them with hard values that can be manipulated. Once that is done, we can cut and paste the outlying values (one in column B and one in column C) into their corresponding cells in column A.

All of our data is now in column A; however, some of the cells include information that does not contain a Twitter handle. We're going to fix this by running the =QUERY function and separating the cells that contain "@" from the ones that do not. In a separate cell (I used cell C4), we're going to input =query(A4:A36, or "Select A where A contains '@'") and hit enter. BOOM. From here on, we'll have only cells that contain Twitter handles, a huge improvement over having a mixed bag of results that contain both cells with and without Twitter handles. To explain, our formula can be translated as "From within the array A4:A36, select the cell in column A when that cell contains '@'." It's pretty self-explanatory, but is nonetheless a fantastic formula that is incredibly powerful. The image below shows what this looks like:

queries v3.png

Keep in mind that the results we just pulled are going to contain excess information within the cells that we'll need to remove. To do this, we'll need to run the =REGEXEXTRACT formula, which will pretty much eliminate any need you have for the =RIGHT, =LEFT, =MID, =FIND, and =LEN formulas, or any mixture of those. While useful, these functions can get a bit complicated and need to work in unison in order to produce the same results as =REGEXEXTRACT. A more detailed explanation of these formulas with visuals can be found here.

We'll run the formula on the results produced from running the =QUERY formula. Using =REGEXEXTRACT, we'll select the top cell in the queries column (in this case, C4) and then select everything after it beginning with "@", the start of what we're looking for. Our desired formula will look like =REGEXEXTRACT(C4, "\@.*"). The backslash signifies to escape the following character, and the .* means select everything after. Thus, the formula can be translated as "For cell C4, extract all of the content beginning at the "@".

weekatthebeach.png

To get all of the other values, all we need to do is click and grab the bottom right corner of cell E4 and drag it down until the end of our array at cell C28. Dragging down the corner of E4 will apply the formula within it to the cells included within the drag. We want to include up to E28 because the corresponding cell C28 is the last cell in the array we are applying the formula to. Doing this will provide the results shown below:

whereisjenny.png

Though a nice and clean output, the data in column E is created by formula and cannot be easily manipulated. We'll need to do copy and paste values within this column to have everything we need and be able to manipulate the data.

If you'd like to play around with the Google Sheet and make your own copy, you can find the original here.

Hopefully this helps provide some direction and insight into how you can easily scrape and clean data from web pages. If you're interested in learning more, here's a list of great resources:

Want more use cases, tips, and things to watch out for when scraping? I interviewed the following experts for their insights into the world of web scraping:

  1. Dave Sottimano, VP Strategy, Define Media Group, Inc.
  2. Chad Gingrich, Senior SEO Manager, Seer Interactive
  3. Dan Butler, Head of SEO, Builtvisible
  4. Tom Critchlow, tomcritchlow.com
  5. Ian Lurie, CEO and Founder, Portent, Inc.
  6. Mike King, Founder, iPullRank

Question 1: Describe a time when automated scraping "saved your life."

"During the time when hreflang was first released, there were a lot of implementation & configuration issues. While isolated testing was very informative, it was the automated scraping of SERPs that helped me realize the impact of certain international configurations and make important decisions for clients." – Dave Sottimano

"We wanted a way to visualize forum data to see what types of questions their clients' audiences were talking about most frequently to be able to create a content strategy out of that data. We scraped Reddit and various forums, grabbing data like post titles, views, number of replies, and even the post content. We were able to aggregate all that data to put together a really interesting look at the most popular questions and visualize keywords within the post title and comments that might be a prime target for content. Another way we use scraping often at Seer is for keyword research. Being able to look at much larger seed keyword sets provides a huge advantage and time savings. Additionally, being able to easily pull search results to inform your keyword research is important and couldn't be done without scraping." – Chad Gingrich

"I'd say scraping saves my life on a regular basis, but one scenario that stands out in particular was when a client requested Schema.org mark-up for each of its 60 hotels in 6 different languages. Straightforward request, or so I thought—turns out they had very limited development resource to implement themselves, and an aged CMS that didn't offer the capabilities of simply downloading a database so that mark up could be appended. Firing up ImportXML in Google Sheets, I could scrape anything (titles, source images, descriptions, addresses, geo-coordinates, etc.), and combined with a series of concatenates was able to compile the data so all that was needed was to upload the code to the corresponding page." – Dan Butler

"I've lost count of the times when ad-hoc scraping has saved my bacon. There were low-stress times when fetching a bunch of pages and pulling their meta descriptions into Excel was useful, but my favorite example in recent times was with a client of mine who was in talks with Facebook to be included in F8. We were crunching data to get into the keynote speech and needed to analyze some social media data for URLs at reasonable scale (a few thousand URLs). It's the kind of data that existed somewhere in the client's system as an SQL query, but we didn't have time to get the dev team to get us the data. It was very liberating to spend 20 minutes fetching and analyzing the data ourselves to get a fast turnaround for Facebook." – Tom Critchlow

"We discovered a client simultaneously pointed all of their home page links at a staging subdomain, and that they'd added a meta robots noindex/nofollow to their home page about one hour after they did it. We saw the crawl result and thought, "Huh, that can't be right." We assumed our crawler was broken. Nope. That's about the best timing we could've hoped for. But it saved the client from a major gaffe that could've cost them tens of thousands of dollars. Another time we had to do a massive content migration from a client that had a static site. The client was actually starting to cut and paste thousands of pages. We scraped them all into a database, parsed them and automated the whole process." – Ian Lurie

"Generally, I hate any task where I have to copy and paste, because any time you're doing that, a computer could be doing it for you. The moment that stands out the most to me is when I first started at Razorfish and they gave me the task of segmenting 3 million links from a Majestic export. I wrote a PHP script that collected 30 data points per link. This was before any of the tools like CognitiveSEO or even LinkDetective existed. Pretty safe to say that saved me from wanting to throw my computer off the top of the building." – Mike King

Question 2: What are your preferred tools/methods for doing it?

"Depends on the scale and the type of job. For quick stuff, it's usually Google docs (ImportXML, or I'll write a custom function), and on scale I really like Scraping Hub. As SEO tasks move closer towards data analysis (science), I think I'll be much more likely to rely on web import modules provided by big data analytics platforms such as RapidMiner or Knime for any scraping." – Dave Sottimano

"Starting out, Outwit is a great tool. It's essentially a browser that lets you build scrapers easily by using the source code. ...I've started using Ruby to have more control and scalability. I chose Ruby because of the front end/backend components, but Python is also a great choice and is definitely a standard for scraping (Google uses it). I think it's inevitable that you learn to code when you're interested in scraping because you're almost always going to need something you can't readily get from simple tools. Other tools I like are the scraper Chrome plugin for quick one page scrapes, Scrapebox, RegExr, & Text2re for building and testing regex. And of course, SEO Tools for Excel." – Chad Gingrich

"I love tools like Screaming Frog and URL Profiler, but find that having the power of a simple spreadsheet behind the approach offers a little more flexibility by saving time being able to manage the output, perform a series of concatenated lookups, and turn it into a dynamic report for ongoing maintenance. Google Sheets also has the ability for you to create custom scripts, so you can connect to multiple APIs or even scrape & convert JSON output. Hey, it's free as well!" – Dan Butler

"Google Docs is by far the most versatile, powerful and fast method for doing this, in my personal experience. I started with ImportXML and cut my teeth using that before graduating to Google Scripts and more powerful, robust, and cron-driven uses. Occasionally, I've used Python to build my own scrapers, but this has so far never really proven to be an effective use of my time—though it has been fun." – Tom Critchlow

"We have our own toolset in-house. It's built on Python and Cython, and has a very powerful regex engine, so we can extract pretty much anything we want. We also write custom tools when we need them to do something really unique, like analyze image types/compression. For really, really big sites—millions of pages—we may use DeepCrawl. But our in-house toolset does the trick 99% of the time and gives us a lot of flexibility." – Ian Lurie

"While I know there a number of WYSIWYG tools for it at this point, I still I prefer writing a script. That way I get exactly what I want and it's in the precise format that I'm looking for." – Mike King

Question 3: What are common pitfalls with web scraping to watch out for?

"Bad data. This ranges from hidden characters and encoding issues to bad HTML, and sometimes you're just being fed crap by some clever system admin. As a general rule, I'd far rather pay for an API than scrape." – Dave Sottimano

"Just because you can scrape something doesn't mean you should, and sometimes too much data just confuses the end goal. I like to outline what I'm going to scrape and why I need it/what I'll do with that data before scraping one piece of data. Use brain power up front, let the scraping automate the rest for you, and you'll come out the other side in a much better place." – Chad Gingrich

"If you're setting up dynamic reports or building your own tools, make sure you have something like Change Detection running so you can be alerted when X% of the target HTML has changed, which could invalidate your Xpath. On the flipside, it's crazy how common parsing private API credentials/authentication is via public HTTP get requests or over XHR—seriously, sites need to start locking this stuff down if they don't want it accessible in the public domain." – Dan Butler

"The most common pitfall with computers is that they only do what you tell them—this sounds obvious, but it's a good reminder that when you get frustrated, you usually only have yourself to blame. Oh—and don't forget to check your recurring tasks every once in a while." – Tom Critchlow

"It's important to slow your crawls down. I'm not even talking about Google scraping. I'm talking about crawling other folks' web sites. I'm continuously amazed at just how poorly optimized most site technology stacks really are. If you start hitting one page a second, you may actually slow or crash a site for a multi-million-dollar business. We once killed a client's site with a one-page-per-second crawl—they were a Fortune 1000 company. It's ridiculous, but it happens more often than you might think. Also, if you don't design your crawler to detect and avoid spider traps, you could end up crawling 250,000 pages of utter duplicate crap. That's a waste of server resources. Once you find an infinitely-expanding URL or other problem, have your crawler move on." – Ian Lurie

"The biggest pitfall I run into these days is that a lot of sites are rendering their content with JavaScript and a standard text-based crawler doesn't always cut it. More often than not, I'm scraping with a headless browser. My favorite abstraction of PhantomJS is NightmareJS because it's quick and easy, so I use that. The other thing is that sometimes people's code is so bad that there's no structure, so you end up grabbing everything and needing to sort through it." – Mike King

Do you have any interesting use-cases or experiences with data scraping? Sound off in the comments!


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don't have time to hunt down but want to read!

You are subscribed to the Moz Blog newsletter sent from 1100 Second Avenue, Seattle, WA 98101 United States
To stop receiving those e-mails, you can unsubscribe now.
Newsletter powered by FeedPress

Real-Time Analysis of Your Search Engine Score

LiveSEO
 
Don't have an account? Register
 
Check your SEO Score in Realtime!
Real-time analysis of your websites search engine score!
arrow down
 
LiveSEO
Who We Are
divider line
LiveSEO is a tool for you who actively are working with Search Engine Optimization on various search engines. This tool allows you to instantly see how changes to your webpage is perceived by search engines.
 
Pricing plans
divider line
 
Free
1 Campaigns
3 URL's in Each Camp.
1 Months History
1 Update every 24hr Period
Read more
 
$39/mo
10 Campaigns
5 URL's in Each Camp.
1 Years History
Update every 4hr Period
Read more
 
$299/mo
100 Campaigns
10 URL's in Each Camp.
3 Years History
1 Update every 30 min Period
Full API Access
Read more
 
Check your SEO Score in Realtime!
Visit Our Website
LiveSEO
img-580-250
Compare Your SEO Score to your Competitors.
Check your competitors LiveSEO Score and improve on yours before your competitor.
Read more
 
about this email
You receive this email since you have registered at: http://www.submitstart.com/
 
useful links
View online version of this email
Register
Log In
Unsubcsribe
© 2015 LiveSEO - Powered by Entireweb
 

View Web Version | Unsubscribe from this list

Seth's Blog : Thanks, let's write that down

Thanks, let's write that down

One way to deal with clients, with criticism, and with feedback is to not insist on resolving it in the moment.

Taking feedback doesn't have to be the same thing as resolving feedback. 

It's tempting to challenge each bit of criticism, to explain your thinking, to justify the choices. This back and forth feels efficient, but it fails to deliver on a few fronts.

First, it makes it more difficult for the client to share her truth, to feel heard.

Second, it escalates the tension, because it's almost impossible to successfully resolve each item in real time.

If you write it down, you can accept the feedback without judgment.

And then, after it's all written down, after the feedback is received, people can change roles. You can sit on the same side of the table, colleagues in search of the best path forward.  You can rank by expense, by urgency, by importance. You can agree on timelines and mostly, say, "what do we do now?"

       

More Recent Articles

[You're getting this note because you subscribed to Seth Godin's blog.]

Don't want to get this email anymore? Click the link below to unsubscribe.



Email subscriptions powered by FeedBlitz, LLC, 365 Boston Post Rd, Suite 123, Sudbury, MA 01776, USA.

duminică, 27 septembrie 2015

Mish's Global Economic Trend Analysis

Mish's Global Economic Trend Analysis


Refugees Shop for Best Handouts and Climate; Disgruntled Migrants Decide "Finland's No Good"

Posted: 27 Sep 2015 06:07 PM PDT

Beggars can be choosy. And they are. For example, many refugees whine 'Finland's No Good', because of the cold.
Hundreds of predominantly Iraqi migrants who have travelled through Europe to reach Finland are turning back, saying they don't want to stay in the sparsely-populated country on Europe's northern frontier because it's too cold and boring.

Migrants have in recent weeks been crossing back into Sweden at the Haparanda-Tornio border just an hour's drive south of the Arctic Circle, and Finnish authorities have seen a rise in the number of cancelled asylum applications.

"You can tell the world I hate Finland. It's too cold, there's no tea, no restaurants, no bars, nobody on the streets, only cars," 22-year-old Muhammed told AFP in Tornio, as the mercury struggled to inch above 10 degrees Celsius (50 Fahrenheit) on a recent blustery grey day.

He had already travelled from Tornio to the capital Helsinki almost 750 kilometres (465 miles) south, and then back up to the Tornio border again to return to Sweden.

Another group of around 15 Iraqi refugees waiting at the bus station that Tornio shares with its Swedish twin town Haparanda also said they wanted to go back to southern Sweden.

"Finland is no good," the men echoed each other.
Reader Blair who sent me the link commented: "So, the search continues, by those whose lives were in grave danger, for free services... in a nice climate... with a lively social scene."

Mike "Mish" Shedlock

Catalan Separatist Parties Victorious, Unprecedented Voter Turnout

Posted: 27 Sep 2015 01:28 PM PDT

The showdown in Spain between the independence parties and Madrid is sure to heat up following today's elections.

Here is a link to the Live Vote Totals.

With 70% of the vote counted, the parliament totals look like this:



In terms of popular vote, it appears the separatists will fall short of an absolute majority. Separatists will get about 47% of the popular vote.

Pro-Independence Rally on Friday



Above image from Financial Times.

Current totals show prime minister Mariano Rajoy's conservative Popular party is going down in a crushing defeat with only 8.46% of the vote.

Mike "Mish" Shedlock

Total Lunar Eclipse September 27-28: Where to See It, How to Photograph It

Posted: 27 Sep 2015 11:57 AM PDT

There is a Total Lunar Eclipse tonight visible of most of the US. You may want to watch it. The moon will likely appear strong red or orange, giving the name "blood moon".



click on table for sharper image

The Penumbral phase is weak and not easily seen so you may wish to observe it at other times.

Photographer Michael Frye took a time series of the Lunar Eclipse Over the Trona Pinnacles last April.



I missed that eclipse because it totally clouded up here. I will likely miss the one tonight because of clouds.

If your mission is to photograph the the moon, see the above article and also his article Photographing the Lunar Eclipse.



Oak tree and lunar eclipse sequence, December 10, 2011, Sierra foothills, California. ©Michael Frye

Michael Frye is one of the best, if not the best landscape photographer in the US.

I highly recommend his PDF ebook Landscapes in Lightroom: The Essential Step-by-Step Guide.

If you are a photographer using Lightroom, regardless of where you live, please do yourself a favor and get his book, recently updated to include new Lightroom 6 and Photoshop CC features including HDR Merge and the Panorama Merge.

Mike "Mish" Shedlock

Seth's Blog : The 2% who misunderstand you

The 2% who misunderstand you

Sometimes, it's essential that you be completely understood. That every passenger knows where the emergency exit is, or that every employee knows how it is we do things around here.

But most of the time, if 2% of your audience doesn't get the joke, doesn't learn what you seek to teach them, doesn't understand the essence of your argument, it's not the problem you think it is.

Sure, the 2% who are underinformed can write reviews, tweet indignantly and speak up. You know what? It doesn't matter that much.

If you insist on telling everyone on the airplane precisely how to buckle their seatbelt (!), then yes, of course you're going to not only waste the time of virtually everyone, but you're going to train them not to listen to the rest of what you have to say.

If you insist on getting every single person in the room to understand every nuance of your presentation, you've just signed up to bore and alienate the very people you needed most.

When you find yourself overwriting, embracing redundancy and overwhelming people with fine print, you're probably protecting yourself against the 2%, at the expense of everyone else. (And yes, it might be 10% or even 90%.... that's okay). 

When we hold back and dumb down, we are hurting the people who need to hear from us, often in a vain attempt to satisfy a few people who might never choose to actually listen.

It's quite okay to say, "it's not for you."

       

More Recent Articles

[You're getting this note because you subscribed to Seth Godin's blog.]

Don't want to get this email anymore? Click the link below to unsubscribe.



Email subscriptions powered by FeedBlitz, LLC, 365 Boston Post Rd, Suite 123, Sudbury, MA 01776, USA.

sâmbătă, 26 septembrie 2015

Mish's Global Economic Trend Analysis

Mish's Global Economic Trend Analysis


How US Corporations "Cooperate" With China; Xi’s China: A Place Called Hopelessness

Posted: 26 Sep 2015 06:12 PM PDT

In response to Why I'm Never Going to "Two-Bit" China an anonymous reader sent links to a video on how US companies are forced to cooperate with China and an article on "Xi's China" from the Daily Beast.

Both may be a bit over the top, or not, in the eyes of the viewer. Let's start with the video from China Uncensored.

China Tells US Tech Companies to "Cooperate"



Xi's China: A Place Called Hopelessness

Next please consider  Xi's China: A Place Called Hopelessness
As China's President Xi Jinping visits the United States this week, Americans will have little sense what it's like for his people back home. His top internet censor, Lu Wei, organized a technology summit in Seattle earlier this week.  Alibaba's Jack Ma and Apple's Tim Cook have been in tow, in addition to other tech giants. After a round of diplomatic pomp in Washington D.C., President Xi will address the United Nations General Assembly in New York on Monday before returning to Beijing in time for National Day celebrations at home. His message will be of success in the present and for the future.

Ask the ant tribe. They're educated, young professionals who live in near-poverty conditions, grinding away at soul-crushing jobs—not careers—that yield no personal satisfaction and zero financial growth. Typically from rural areas, most have settled in northwest Beijing, where their living quarters are cramped and they have no personal space. They're smart, they work hard, yet receive no recognition and can't shake off anonymity. So, people call them ants.

This year, nearly 7.5 million fresh Chinese university graduates entered the workforce, or attempted to. But because of the massive influx of new labor, increased year on year, competition has become cutthroat even as salaries have fallen, in some cases, lower than the wages received by factory workers. Cost of living continues to increase in tier-one cities, and prospects for members of the ant tribe eventually to own their own houses are slim. "I'll never be able to get married and provide for a family. I feel like I'll always be stuck in these six square meters," groaned Xiao. Rent is ¥1300, or about US$200, a month. That may not seem like much, but after other expenses, most of Xiao's ¥3,300 ($520) paycheck is gone.

In the fantasy world that the Chinese Communist Party has created for its revised history books, the state takes care of every citizen. But the ant tribe knows firsthand that this is not the case. Calling the Chinese president by his nickname, Xiao said, "Xi Dada says the youth are this country's future, but most of us don't have any opportunities. We graduated from university but there aren't any jobs available to us, at least not in the subjects we studied."

Xi Jinping's crusade against corruption has "swatted flies" and "hunted tigers," who conveniently are the Chinese leader's political enemies. China's millionaires can't leave the country fast enough. China's rural areas have a gaping security vacuum; forced demolitions, evictions, and land seizures still take place frequently, at times with deadly results. Soon, the CCP will begin transforming 82,000 square miles of land around Beijing into a megacity that's about the size of Kansas, and it will hold over 100 million people, or more than one-third of America's population. What will the ant tribe look like when that time comes? What does it mean for Chinese society when routine overtakes imagination, if it hasn't already?
China is hardly the miracle its proponents make it out to be. And it's system of government outright sucks.

Make statements like that in China and you will get arrested, or worse.

Mike "Mish" Shedlock

How Long Will Janet Yellen Last as Fed Chair? Fed Declines to Comment on Her Health, I Will

Posted: 26 Sep 2015 12:43 PM PDT

Fed Chair Janet Yellen's health is in question after she could not read her prepared text in a lecture on inflation last Thursday.

About 50 minutes into her speech, she paused for about 25 seconds, then repeated phrases and missed words.

MarketWatch reports Yellen Stumbles Towards End of Speech at Amherstt. 

Yellen Video #1



Fed Declines to Comment

The Wall Street Journal reports Fed Declines to Comment on Yellen's Health
The Fed chairwoman, 69 years old, faltered roughly 50 minutes into a lecture on the economy and inflation Thursday at the University of Massachusetts Amherst. She stumbled over her prepared text, paused for long stretches several times, missed and jumbled some words in the text, and coughed before concluding her speech and leaving the stage.

The Fed spokeswoman, Michelle Smith, on Thursday said Ms. Yellen "felt dehydrated at the end of a long speech under bright lights" and was seen by emergency medical technicians as a precaution, but "felt fine afterward" and attended a dinner on campus.

Bloomberg News reported Ms. Yellen appeared fine after her dinner and flew back to Washington on Friday from Hartford, Conn., telling fellow passengers at the airport that she felt better. "I look good now, don't I?" she said, according to the news outlet.
Yellen Video #2 - Close Up



Claim Investigation

Inquiring minds may wish an investigation of Yellen's claim "I look good now, don't I?"

Here is a sample of recent images from which readers can judge.



It's Better to Look Good Than Feel Good

Yellen says she looks good. And you know what they say.



Link if video does not play: "Fernando's Hideaway"

Let's be honest. Yellen looks God awful. She is 69 but looks 80. There is a load of pressure on the Fed Chair, and I highly doubt she can last another year.

How many rate hikes will she get in before she steps down for health reasons? Any?

By the way, the Fed has not hiked in 20 years in any year in which the stock market was negative year-over-year at the time.

Mike "Mish" Shedlock