-1

有人可以给我看代码吗,比如说每 30 分钟从谷歌获取最新消息,然后使用 python 在我的网站上显示它们?

我观看了 44 个视频教程并学习了基础知识。

一个例子是:

import urllib2
from BeautifulSoup import BeautifulSoup
# or if your're using BeautifulSoup4:
# from bs4 import BeautifulSoup

soup = BeautifulSoup(urllib2.urlopen('http://www.timeanddate.com/worldclock/astronomy.html?n=78').read())

for row in soup('table', {'class' : 'spad'})[0].tbody('tr'):
  tds = row('td')
  print tds[0].string, tds[1].string
  # will print date and sunrise

但是像我这样的初学者无法理解这段代码如何帮助我解决上面的例子。

4

2 回答 2

3

这是一个简单的例子,它每半小时从谷歌新闻中获取所有主要标题并将它们打印出来。至于在您的网站上显示它们取决于它的实施方式。例如,如果它从 MYSQL 数据库中获取内容,您可以轻松地使此脚本在每次下载新标题时更新数据库。

import mechanize
import cookielib
import lxml.html as lh
import time  

br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

while True:
    r = br.open('https://news.google.com/')
    html = r.read()
    doc=lh.fromstring(html)
    for i in doc.xpath('.//*[@class="esc-lead-article-title"]'):
        print i.text_content()
    time.sleep(1800)
于 2012-10-19T18:29:28.833 回答
1

每当你看到你不熟悉的东西的导入声明时,做一个快速的谷歌搜索总是明智的。我的产量

美丽汤。在这里,您可以阅读名为 beautiful soup 的 python 库的文档。

这里的UrlLib2是用来打开 URL 的库

阅读文档,它应该可以帮助您了解如何使用这个小片段来发挥您的优势:)。

于 2012-10-19T17:17:09.240 回答