nltk在python中从网页中提取信息

时间:2014-02-21 09:30:33

标签: import nltk

如何在python中使用nltk从网页中提取信息(在我的情况下提供工作机会)

我使用此代码提取文本的一部分,

import nltk
import time
import urllib2 
from urllib2 import urlopen 
from cookielib import CookieJar 
import datetime


website = "http://tanitjobs.com/search-results-jobs/"
topSplit = "<div class=\"offre\">"
ButtomSplit = "<div class=\"offre-emploi&nbsp;\">"
cj = CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('Uer-agent', 'Mozilla/5.0')]

def main():

    try:

        ss =opener.open(website).read()
        sourceCodeSplit = ss.split(topSplit)[1].split(ButtomSplit)[0]
        texte = nltk.clean_html(sourceCodeSplit)
        print texte
    except Exception,e:
        print 'fail in the main loop'
        print str(e)


main()

但如果我从一般网页中提取特定段落(工作机会),我不知道怎么做

1 个答案:

答案 0 :(得分:1)

首先,您需要来自python3的urllib.request,请参阅http://docs.python.org/3.0/library/urllib.request.html

接下来,BeautifulSoup是你的朋友:http://www.crummy.com/software/BeautifulSoup/bs4/doc/。我发现这在py3.x中安装bs4时很有用,请参阅http://annelagang.blogspot.fr/2012/11/beautifulsoup-4-for-python-3x.html

这是一个有效的例子:

import urllib.request
from bs4 import BeautifulSoup as bs

user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7'

headers={'User-Agent':user_agent,} 
url="http://tanitjobs.com/search-results-jobs/"

request=urllib.request.Request(url,None,headers) #The assembled request
response = urllib.request.urlopen(request)
data = response.read()

for i in bs(data).find_all(attrs={"class": "offre-emploi vedette"}):
    print(" ".join(i.find("div",attrs={"class":"detail"}).text.split()))
    print

<强> [OUT]:

  

Téléopérateurs(trices)Quality Com Center QualityCom sis a   Montplaisir recrutedestéléopérateurs(trices),en ... Voir toutes les   offres de Quality Com Center

     

Contrôleurdegestion Eureka Developpement Humain Pour le compte d'une   Multinationale dans le domaine de l'industrie,nous recrutons un:...   Voir toutes de Eureka Developpement Humain离开了

     

负责任的资源人力资源(H / F)Eureka Developpement Humain Pour   儿子propre compteEurekaDéveloppementHumainRecrute:责任...   Voir toutes de Eureka Developpement Humain离开了

     

ContrôleurFinancierJunior ProxyTunisieRattachéauDirecteur   Administratif et Financier pays,votrerôleestde garantir la   gerstion ... Voir toutes les deres de Proxy Tunisie

     

Superviseur en prize de rdv(énergierenouvelable)Quality Com   Center Quality Com Center sis a Montplaisir Recrute 1 Superviseur(e)   en Panneaux ... Voir toutes les offres de Quality Com Center

     

Téléconseillers(h / f)Axess全球服务AXESS GLOBAL SERVICES   Recrutement Vous souhaitez travailler dans une Enterprise jeune et ...   Voir热衷于de Axess全球服务