2016-12-04 85 views
1
运行Python脚本刮新闻故事
import requests 
from lxml import html 

page = requests.get('http://www.cnn.com') 
html_content = html.fromstring(page.content) 

for i in html_content.iterchildren(): 
    print i 

news_stories = html_content.xpath('//h2[@data-analytics]/a/span/text()') 
news_links = html_content.xpath('//h2[@data-analytics]/a/@href') 

我试图运行此代码来了解网络中的蟒蛇是如何工作的拼抢。没有得到输出,而从CNN

我想从美国有线电视新闻网去掉最新的新闻报道和链接。

当我在Python程序中运行这个,输出为news_stories和news_links我得到的是:

[] 

我的问题是我在哪里这个脚麻有没有更好的方式来实现我是什么试图比这一个?

回答

1

在您的代码中,html_content仅返回页面地址,而不返回页面的实际内容。

html_content = html.fromstring(page.content) 

你可以试试下面的打印看到完整的HTML代码,这个页面:

import requests 
from lxml import html 

page = requests.get('http://www.cnn.com') 
print page.text 

即使你将得到内容也弄好了,你会得到它从gzip压缩响应服务器。 (Get html using Python requests?

我强烈建议您使用httplib2库和BeautifulSoup从CNN刮新闻报道。这真的很方便使用,并得到你想要的。你可以在这里看到另一个计算器后(retrieve links from web page using python and BeautifulSoup)

我希望能够帮助您。

+0

啊......美丽的汤要简单得多...谢谢... –

+0

享受编码... –