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


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

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

11561
2017-12-01 01:51


起源



答案:


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


11
2017-12-01 01:55



你会推荐相同的: stackoverflow.com/questions/23917790/... - Si8


答案:


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


11
2017-12-01 01:55



你会推荐相同的: stackoverflow.com/questions/23917790/... - Si8


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

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


3
2017-12-01 02:00





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

1
2017-12-01 02:02



我也在使用它。我需要在同一个网站上抓取大约1000个链接......但这需要太长时间......你会建议我采取更好的方法吗?我也可以展示代码
在几个线程中做到这一点 - Alexey Grigorev


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


0
2017-09-21 07:57