使用python和beautifulsou检查网页的结果

2024-05-26 21:52:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要检查一个网页的搜索结果,并比较他们的用户输入。你知道吗

ui = raw_input() #for example "Niels Bohr"
link = "http://www.enciklopedija.hr/Trazi.aspx?t=profesor,%20gdje&s=90&k=10"
stranica=urllib.urlopen(link)
soup = BeautifulSoup(stranica, from_encoding="utf-8")
beauty = soup.prettify()
print beauty

因为有1502个结果,我的想法是把k=10改成k=1502。现在我需要一些函数来检查搜索结果是否包含我的用户输入。我知道我的名字一个接一个 那怎么做呢?也许用正则表达式? 第二部分是是否有匹配的结果来得到链接的结果。同样,我知道链接在href=“”中,但如何将其取出并使其可用=


Tags: 用户httpui网页forinputraw链接
1条回答
网友
1楼 · 发布于 2024-05-26 21:52:59

查找Niels Bohr是否已列出就像使用大量批号并加载结果页面一样简单:

import sys
import urllib2

from bs4 import BeautifulSoup

url = "http://www.enciklopedija.hr/Trazi.aspx?t=profesor,%20gdje&s=0&k={}".format(sys.maxint)
name = u'Bohr, Niels'

page = urllib2.urlopen(url)
soup = BeautifulSoup(page.read())

for link in soup.find_all(class_='AllWordsTextHit', text=name):
    print link

这将生成包含作为链接文本的文本'Bohr, Niels'的任何链接。如果需要部分匹配,可以使用正则表达式。你知道吗

link对象有一个(relative)href属性,可以用来加载下一页:

professor_page = 'http://www.enciklopedija.hr/' + link['href']

相关问题 更多 >

    热门问题