1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python selenium 保存网页_使用python/selenium保存完整的网页(包括css 图像)

python selenium 保存网页_使用python/selenium保存完整的网页(包括css 图像)

时间:2020-06-06 08:43:30

相关推荐

python selenium 保存网页_使用python/selenium保存完整的网页(包括css 图像)

我正在使用Python/Selenium将遗传序列提交到一个在线数据库中,并希望保存返回的结果的整个页面。下面是让我得到我想要的结果的代码:from selenium import webdriver

URL = 'https://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=blastx&PAGE_TYPE=BlastSearch&LINK_LOC=blasthome'

SEQUENCE = 'CCTAAACTATAGAAGGACAGCTCAAACACAAAGTTACCTAAACTATAGAAGGACAGCTCAAACACAAAGTTACCTAAACTATAGAAGGACAGCTCAAACACAAAGTTACCTAAACTATAGAAGGACAGCTCAAACACAAAGTTACCTAAACTATAGAAGGACA' #'GAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGA'

CHROME_WEBDRIVER_LOCATION = '/home/max/Downloads/chromedriver' # update this for your machine

# open page with selenium

# (first need to download Chrome webdriver, or a firefox webdriver, etc)

driver = webdriver.Chrome(executable_path=CHROME_WEBDRIVER_LOCATION)

driver.get(URL)

time.sleep(5)

# enter sequence into the query field and hit 'blast' button to search

seq_query_field = driver.find_element_by_id("seq")

seq_query_field.send_keys(SEQUENCE)

blast_button = driver.find_element_by_id("b1")

blast_button.click()

time.sleep(60)

此时,我有一个页面,我可以手动单击“另存为”,并获得一个本地文件(带有对应的image/js assets文件夹),该文件允许我在本地查看整个返回的页面(减去通过向下滚动页面动态生成的内容,这很好)。我假设在python/selenium中有一种简单的方法来模拟这个“另存为”函数,但是没有找到。下面保存页面的代码只保存了html,并没有给我留下一个像在web浏览器中那样的本地文件,还有图像等等

^{pr2}$

我也找到了this question/answer on SO,但接受的答案只是打开了“另存为”框,并没有提供单击它的方法(正如两位评论人士指出的那样)

有没有一种简单的方法可以使用python将[full page]另存为?理想情况下,我更喜欢使用selenium的答案,因为selenium使爬行部分变得非常简单,但是如果有更好的工具来完成这项工作,我愿意使用另一个库。或者我只需要在代码中指定要下载的所有图像/表,而没有快捷方式来模拟右键单击“另存为”功能?在

更新-詹姆斯回答的后续问题

所以我运行James的代码生成一个page.html(以及相关文件),并将其与手动单击saveas得到的html文件进行比较。通过James的脚本保存的page.html非常棒,并且包含了我需要的所有内容,但是当在浏览器中打开时,它还显示了许多隐藏在手动保存页面中的额外格式化文本。请参阅所附的屏幕截图(左侧是手动保存的页面,右侧显示了附加格式文本的脚本保存页面)。

这让我特别惊讶,因为James脚本保存的页面的原始html似乎表明这些字段仍然应该被隐藏。例如,请参见下面的html,这两个文件中显示的是相同的,但有争议的文本仅出现在由James脚本保存的页面上的浏览器呈现页面中:

These options control formatting of alignments in results pages. The

default is HTML, but other formats (including plain text) are available.

PSSM and PssmWithParameters are representations of Position Specific Scoring Matrices and are only available for PSI-BLAST.

The Advanced view option allows the database descriptions to be sorted by various indices in a table.

知道为什么会这样吗?在

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。