2013-10-06 29 views
0

對於一個學校項目,我們需要抓取一個「求職」網站並將其存儲在數據庫中,並在稍後與正在搜索人員的公司匹配。BeautifulSoup4 - 多個頁面內1 div內的所有鏈接

在這個特定的網站上,我需要抓取的網頁的所有網址都在1個div(每頁10個鏈接)中,div被稱爲「primaryResults」,其中有10個鏈接。

用beautifulsoup我希望首先通過循環瀏覽url中的頁碼來清除數組中的所有鏈接,直到404或類似的東西彈出。

然後遍歷每個頁面,並將我需要的信息從每個頁面存儲到一個數組中,最後將其發送到我的數據庫。

現在我陷入了從ID ='primaryResults'div收集10個鏈接的部分。

我將如何去把它放到我的Python中,使這個商店的所有10個url到數組中?到目前爲止,我已經試過這樣:

import urllib2 
from BeautifulSoup import BeautifulSoup 

opener = urllib2.build_opener() 
opener.addheaders = [("User-Agent", "Mozilla/5.0")] 

url = ("http://jobsearch.monsterboard.nl/browse/") 

content = opener.open(url).read() 
soup = BeautifulSoup(content) 

soup.find(id="primaryResults") 
print soup.find_all('a') 

但這只是給出了一個錯誤:

Traceback (most recent call last): 

print soup.find_all('a') 
TypeError: 'NoneType' object is not callable 

可能有人請幫助我嗎?謝謝:)

+2

我認爲BeautifulSoup4是:'從bs4導入BeautifulSoup' –

+1

給我一個錯誤,它找不到那個模塊。 這只是讓我意識到easy_install沒有安裝V4,但V3,我的問題現在解決了。謝謝 :) – rockyl

回答

1

下面是答案讓所有的都在你提到

from bs4 import BeautifulSoup 
import urllib2 
url="http://jobsearch.monsterboard.nl/browse/" 
page=urllib2.urlopen(url) 
soup = BeautifulSoup(page.read()) 
jobs=soup.findAll('a',{'class':'slJobTitle'}) 
for eachjob in jobs: 
print eachjob['href'] 

希望這是明確的和有益的URL鏈接。