首页 > 解决方案 > 如何抓取网页并从中提取信息?

问题描述

作为一名化学专业的学生,​​我必须反复查找分子并获取它们的 SMILES 字符串。SMILES 字符串是一种机制,可以帮助我们在各种化学软件中重新创建分子。

例如,考虑丙氨酸。我将搜索 Alanine 并转到PubChem 链接。在那里,我将查找“Canonical SMILES”部分,并将 SMILES 字符串复制粘贴到我正在使用的代码中。

如果只是一个分子,我还不如做上面的。但是,我现在必须对 20 个分子执行此操作。这似乎需要大量的谷歌搜索、点击和复制粘贴。

有没有办法自动化这个过程?是否有可用于此类过程的 python 库?你能在网页信息上使用 grep/awk 做同样的技巧吗?

标签: pythonweb-scrapingawk

解决方案


我用来抓取网页的模块可能会有所帮助?所有其他网络抓取模块都非常复杂,但具有更多功能。requests 模块只是从网站获取准确的数据,如果你抓取一个 .html 文档,它会返回看起来像这样的东西<html><head><title>test</title></head></html>,只是原始数据。它可能对获取更多信息更有帮助,但如果您只想要页面的特定部分,它可能会更令人沮丧。

使用它的代码看起来像这样

import requests

data = requests.get("google.com")
print(data)

在您执行上述任何操作之前,大多数网站都有一个 API,可以在您的代码中从该网站准确返回您需要的数据,如果他们有 API,在页脚中应该有一个开发人员链接

返回 html 文档。(确保 pip 安装请求!)


推荐阅读