r - 如何使用 R 发送搜索词并从网站检索信息
问题描述
我想在这个网站 ( http://www.commonchemistry.org/ )上搜索一千多种不同药物的列表,然后获取每种药物的 CAS 编号。
我查找了“httr”包,但我没有网络抓取经验。是否有捷径可寻?
非常感谢
解决方案
使用search.aspx
搜索词并在 HTML 中查找正确的元素 - 使用rvest
包:
> library(rvest)
> h = read_html("http://www.commonchemistry.org//search.aspx?terms=paracetamol")
> html_text(html_node(h,"#registryNumberLabel"))
[1] "103-90-2"
适用于“阿司匹林”和“扑热息痛”,但“伟哥”返回 NA,因为未找到。可能会发生其他事情。
添加&exact=true
以对搜索词进行完全匹配,否则您可能会在格式略有不同的页面中获得多个匹配项。
推荐阅读
- python - Find the smallest angle to include all points in a plane
- javascript - 为什么 jest.spyOn() 有时不适用于 Vue 组件的方法?
- css - Wordpress 帖子背景图像在类别页面上渗出
- c# - 如何处理通用存储库中的数据库事务?
- python - 多行的 itertools.product()
- user-interface - 如何根据项目索引更改gridView的高度??[颤动]
- perl - Perl 可以为未初始化的变量引用输出运行时错误,而不是静默退出脚本吗?
- javascript - 如何安全地存储 websockets 的唯一客户端 ID?
- reactjs - 无法在 React 顶点图表中将时间戳转换为小时分钟和秒
- webview - 如何禁用 Chrome 日志记录消息?