如何使用splinter库将网页保存到磁盘以备后续抓取?
我有一段使用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
)在找到网页元素方面非常强大。这个库不仅仅是用来编程浏览网页的,它还可以进行导航、搜索、提取数据等等。你可以查看一下 查找元素 的相关内容。