我想构建一个webapp来帮助我大学的其他学生创建他们的日程安排。为此,我需要抓取主时间表(一个巨大的html页面)以及每个课程的详细描述链接到数据库中,最好是在python中。此外,我需要登录才能访问数据。
答案 0 :(得分:11)
requests
用于下载页面。
lxml
用于抓取数据。如果你想使用强大的抓取框架,那就是Scrapy
。它也有一些很好的文档。根据你的任务,这可能有点矫枉过正。
答案 1 :(得分:3)
Scrapy可能是用于抓取的最佳Python库。它可以维护经过身份验证的会话的状态。
处理二进制数据应该单独处理。对于每种文件类型,您必须根据自己的逻辑以不同方式处理它。对于几乎任何类型的格式,您可能都能找到一个库。例如,请查看PyPDF以处理PDF。对于excel文件,您可以尝试xlrd。
答案 2 :(得分:2)
我喜欢使用BeatifulSoup来提取html数据
这很容易:
from BeautifulSoup import BeautifulSoup
import urllib
ur = urllib.urlopen("http://pragprog.com/podcasts/feed.rss")
soup = BeautifulSoup(ur.read())
items = soup.findAll('item')
urls = [item.enclosure['url'] for item in items]
答案 3 :(得分:0)
为此目的,有一个非常有用的工具叫做web-harvest 链接到他们的网站http://web-harvest.sourceforge.net/ 我用它来抓取网页