gpt4 book ai didi

python - 使用嵌套框架和 javascript 进行网页抓取

转载 作者:行者123 更新时间:2023-12-04 16:20:40 26 4
gpt4 key购买 nike

我想从在线聊天机器人那里得到答案。
http://talkingbox.dyndns.org:49495/braintalk ? ( ? 属于链接)

要发送问题,您只需发送一个简单的请求:

http://talkingbox.dyndns.org:49495/in?id=3B9054BC032E53EF691A9A1803040F1C&msg=[Here the question]

源看起来像这样:
<frameset cols="*,185" frameborder="no" border="0" framespacing="0">
<frameset rows="100,*,82" frameborder="no" border="0" framespacing="0">
<frame src="http://thebot.de/bt_banner.html" marginwidth="0" name="frtop" scrolling="no" marginheight="0" frameborder="no">
<frame src="out?id=3B9054BC032E53EF691A9A1803040F1C" name="frout" marginwidth="0" marginheight="0">
<frameset rows="100%,*" border="0" framespacing="0" frameborder="no">
<frame src="bt_in?id=3B9054BC032E53EF691A9A1803040F1C" name="frin" scrolling="no" marginwidth="0" marginheight="0" noresize>
<frame src="" name="frempty" marginwidth="0" marginheight="0" scrolling="auto" frameborder="no" >
</frameset>
</frameset>
<frameset frameborder="no" border="0" framespacing="0" rows="82,*">
<frame src="stats?" name="fr1" scrolling="no" marginwidth="0" marginheight="0" frameborder="no">
<frame src="http://thebot.de/bt_rechts.html" name="fr2" scrolling="auto" marginwidth="0" marginheight="0" frameborder="no" >
</frameset>
</frameset>

我使用“mechanize”和beautifulsoup 进行网页抓取,但我认为mechanize 不支持动态网页。

在这种情况下,我怎样才能得到答案?

我也在寻找一种在 Windows 和 Linux 上运行良好的解决方案。

最佳答案

无论是 BeautifulSoup、mechanize、Requests 还是 Scrapy,加载动态页面都必须由您编写的另一个步骤完成。

例如,使用scrapy这可能看起来像:

class TheBotSpider(BaseSpider):
name = 'thebot'
allowed_domains = ['thebot.de', 'talkingbox.dyndns.org']

def __init__(self, *a, **kw):
super(TheBotSpider, self).__init__(*a, **kw)
self.domain = 'http://talkingbox.dyndns.org:49495/'
self.start_urls = [self.domain +
'in?id=3B9054BC032E53EF691A9A1803040F1C&msg=' +
self.question]

def parse(self, response):
sel = Selector(response)
url = sel.xpath('//frame[@name="frout"]/@src').extract()[0]
yield Request(url=url, callback=dynamic_page)

def dynamic_page(self, response):
.... xpath to scrape answer

以问题为参数运行它:
scrapy crawl thebot -a question=[Here the question]

有关如何使用scrapy 的更多详细信息,请参阅 scrapy tutorial

关于python - 使用嵌套框架和 javascript 进行网页抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21129107/

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