如何用Python爬取网站/提取数据到数据库?
我想做一个网页应用,帮助我大学的其他同学制定课程表。为此,我需要从一个很大的网页上抓取主课程表,以及每门课程的详细描述链接,然后把这些信息存到数据库里,最好是用Python来实现。此外,我还需要登录才能访问这些数据。
- 这个过程是怎么进行的呢?
- 我可以使用哪些工具或库?
- 有没有好的教程可以参考?
- 我该如何处理二进制数据(比如漂亮的PDF文件)?
- 有没有现成的好解决方案?
4 个回答
3
我很喜欢用BeautifulSoup来提取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]
12
requests
是用来下载网页的工具。- 这里有一个示例,教你如何登录一个网站并下载网页: https://stackoverflow.com/a/8316989/311220
lxml
是用来提取数据的工具。
如果你想使用一个功能强大的数据抓取框架,可以试试 Scrapy
。它的文档也很不错。不过,根据你的任务,可能会觉得它有点复杂。