对于一个学校项目,我们需要抓住一个“找工作”网站并将其存储在数据库中,然后与正在搜索人员的公司匹配这些配置文件。
在这个特定的网站上,我需要抓取的页面的所有网址都是1个div(每页有10个链接),div被称为“primaryResults”,里面有10个。
使用beautifulsoup我希望首先通过循环遍历网址中的页码来刮取数组中的所有链接,直到弹出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
有人可以帮帮我吗?谢谢:))
答案 0 :(得分:2)
以下是获取您提到的网址中所有链接的答案
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']
希望它清楚有用。