gpt4 book ai didi

python - 如何让数据挖掘器在网页上进行特定搜索?

转载 作者:太空宇宙 更新时间:2023-11-03 18:26:58 24 4
gpt4 key购买 nike

我是 Python 新手,正在尝试使用 Pattern。我的目标是获得一个代码,在从 IndoWordnet 查找后,该代码将为我提供输入单词的同义词。语言必须是孟加拉语。我已经有了一个单词列表。但我不确定如何在模式的帮助下准确地进行网络搜索输入。我尝试过关注 http://arunrocks.com/easy-practical-web-scraping-in-python/ 。这并没有多大帮助。我想从解析的网页开始,这就是我所做的。这也会给我们绝对链接。

from lxml.html import fromstring
from urllib2 import urlopen
def get_page(url) :
html = urlopen(url).read()
dom = fromstring(html)
dom.make_links_absolute(url)
return dom

dom = get_page('http://www.cfilt.iitb.ac.in/indowordnet/first?langno=3&queryword=%E0%A6%97%E0%A6%BE%E0%A6%A7%E0%A6%BE')

<Element html at 0x50b4840>

但之后我陷入困境,因为我不知道如何使用模式进行特定搜索。请帮忙。

最佳答案

这比看起来更棘手,因为有一个 AJAX 请求可以获取您想要抓取的数据,因此分两步完成:

  • 获取与您要查找的单词相对应的特殊sid值(它位于label内,id属性等于sid)
  • http://www.cfilt.iitb.ac.in/indowordnet/ajax/onto.jsp 发出另一个请求,传递您获取的 sid第一步。例如,查看它如何查找 sid=4827:http://www.cfilt.iitb.ac.in/indowordnet/ajax/onto.jsp?sid=4827

这是代码。它打印所有的Anology标签:

from lxml.html import parse
from urllib2 import urlopen

SID_URL = 'http://www.cfilt.iitb.ac.in/indowordnet/ajax/onto.jsp?sid=%s'

url = 'http://www.cfilt.iitb.ac.in/indowordnet/first?langno=3&queryword=%E0%A6%97%E0%A6%BE%E0%A6%A7%E0%A6%BE'
tree = parse(urlopen(url))

sid = tree.find('.//label[@id="sid"]').text

tree = parse(urlopen(SID_URL % sid))
for record in tree.xpath('//ontorecord'):
print record.find('onto_label').text

UPD(获取同义词):

from lxml.html import parse
from urllib2 import urlopen

url = 'http://www.cfilt.iitb.ac.in/indowordnet/first?langno=3&queryword=%E0%A6%97%E0%A6%BE%E0%A6%A7%E0%A6%BE'
tree = parse(urlopen(url))

for label in tree.xpath('.//label[@id="words"]/a'):
print label.text

关于python - 如何让数据挖掘器在网页上进行特定搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22994788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com