如何使用splinter库将网页保存到磁盘以备后续抓取?

4 投票
1 回答
1418 浏览
提问于 2025-04-18 15:21

我有一段使用splinter库的Python代码,用来在一个网站上搜索特定的词:

from splinter import Browser
browser = Browser()

browser.visit("http://decs.bvs.br/cgi-bin/wxis1660.exe/decsserver/?IsisScript=../cgi-bin/decsserver/decsserver.xis&interface_language=p&previous_page=homepage&previous_task=NULL&task=start")
browser.choose('search_language','p')
browser.fill('search_exp','costas')
element = browser.find_by_name("consult_button")
element.click()

这段代码可以正常工作,Firefox浏览器会打开一个显示结果的页面。不过,我还没有找到把这些结果保存为HTML文件的方法,以便后续提取里面的内容。请问如何用splinter把网页保存到本地呢?

提前感谢大家!

1 个回答

4

你可以打开一个文件来写入内容,并把 browser.html 的内容写进去:

with open('output.html', 'w') as f:
    f.write(browser.html.encode('utf-8'))

不过我不太明白为什么你需要在抓取数据后保存这个 HTML 文件。splinter(还有 selenium)在找到网页元素方面非常强大。这个库不仅仅是用来编程浏览网页的,它还可以进行导航、搜索、提取数据等等。你可以查看一下 查找元素 的相关内容。

撰写回答