簡體   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