繁体   English   中英

如何使用python抓取网站/将数据提取到数据库中?

[英]How to crawl a website/extract data into database with python?

我想构建一个webapp来帮助我大学的其他学生创建他们的日程安排。 为此,我需要抓取主时间表(一个巨大的html页面)以及每个课程的详细描述链接到数据库中,最好是在python中。 另外,我需要登录才能访问数据。

  • 那会怎么样?
  • 我可以/应该使用哪些工具/库?
  • 有没有很好的教程?
  • 我如何最好地处理二进制数据(例如漂亮的pdf)?
  • 那已经有很好的解决方案吗?

如果你想使用强大的刮擦框架,那就是Scrapy 它也有一些很好的文档。 根据你的任务,这可能有点矫枉过正。

Scrapy可能是最好的爬行Python库。 它可以维护经过身份验证的会话的状态。

处理二进制数据应单独处理。 对于每种文件类型,您必须根据自己的逻辑以不同方式处理它。 对于几乎任何类型的格式,您可能都能找到一个库。 例如,看看PyPDF处理PDF。 对于excel文件,您可以尝试xlrd。

我喜欢使用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]

为此目的,有一个非常有用的工具叫做web-harvest链接到他们的网站http://web-harvest.sourceforge.net/我用它来抓取网页

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM