网络挖掘、抓取或爬行?我应该使用什么工具/库? [关闭]

2023-11-30

我想抓取一些网页并将其保存为 HTML。比如说,爬入数百个流行网站并简单地保存它们的首页和“关于”页面。

我研究了很多问题,但没有从网络爬行或网络抓取问题中找到答案。

我应该使用什么库或工具来构建解决方案?或者是否有一些现有的工具可以处理这个问题?


当使用 Python 时,您可能会感兴趣机械化 and 美丽汤.

机械化有点模拟浏览器(包括代理选项、伪造浏览器标识、页面重定向等),并允许轻松获取表单、链接……不过,文档有点粗糙/稀疏。

一些示例代码(来自 mechanize 网站)可以给您一个想法:

import mechanize
br = mechanize.Browser()
br.open("http://www.example.com/")
# follow second link with element text matching regular expression
html_response = br.follow_link(text_regex=r"cheese\s*shop", nr=1)
print br.title()
print  html_response

美丽汤允许非常轻松地解析 html 内容(您可以使用 mechanize 获取),并支持正则表达式。

一些示例代码:

from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup(html_response)

rows = soup.findAll('tr')
for r in rows[2:]:  #ignore first two rows
    cols = r.findAll('td')
    print cols[0].renderContents().strip()    #print content of first column

因此,上面的这 10 行几乎可以复制粘贴准备打印网站上每个表行的第一列的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络挖掘、抓取或爬行?我应该使用什么工具/库? [关闭] 的相关文章

随机推荐

  • 用于比较文本文件内容的批处理文件

    我有两个文本文件 其中包含以下数字 File1 00000 11111 File2 00000 11111 22222 我需要一个代码来比较 file2 和 file1 的内容以及不匹配的数字 在这种情况下 22222 是 file2 中的
  • 微服务未在所有 Eureka 实例上注册

    Spring Boot版本 2 1 6 RELEASE Spring Cloud版本 Greenwich SR1 目标是在集群中设置两个Eureka Server实例 并将所有微服务注册到两个实例上 以实现HA 目前我正在运行 Ubuntu
  • 在 python 中多重处理写入数组的函数循环

    我正在尝试为此循环实现多处理 它无法修改数组 或者似乎没有正确排序作业 在最后一个函数完成之前返回数组 import multiprocessing import numpy def func i array array i i 2 pri
  • 在泛型中使用类型变量

    I have 这个问题除了斯威夫特 我如何使用Type泛型中的变量 我试过这个 func intType gt Int Type return Int self func test var t self intType var arr Ar
  • 无法打开使用dompdf生成的pdf文件

    我正在尝试使用 dompdf 从 smarty 模板生成 pdf 文件 代码如下 require once dompdf dompdf config inc php dompdf new DOMPDF dompdf gt load html
  • 图表 Excel REST API - Azure AD 2.0 端点 - 是否支持 OneDrive 个人版?

    我想使用 Microsoft Graph REST API 访问 操作存储在 OneDrive Personal 中的 Excel 工作簿 我能够访问 操作存储在 OneDrive for Business 中的 Excel 工作簿 我能够
  • 如何只下载/读取文件的前 80KB?

    我正在为一个有很多 flash 文件的网站制作一个 Greasemonkey 脚本 我想对闪存进行哈希处理 问题是闪存文件最大为10兆字节 这很慢 我希望能够只获取前 80KB 进行哈希处理 最终结果将是一种将某些包含不需要内容的 Flas
  • 选择具有相同字段名称的 MYSQL 行并添加前缀

    我正在尝试进行 mysql 查询来选择多个表并左连接它们 但是它们都具有相同的列名称 user 等 我想以这种方式重命名所有字段 所以我尝试了以下查询 SELECT mod backup accounts AS account mod ba
  • 如何查找单元格的一部分并将其替换为格式化文本

    在 Excel 2007 电子表格中 我想要查找替换并突出显示单元格中的部分文本 不过 使用查找替换会重新格式化整个单元格 例如 如果单元格包含 Pellentesque vel Massa 坐在 amet magna eleifend p
  • 中断 Linux 上线程中的系统调用

    我有一个循环运行的 pthread 调用accept 以阻塞的方式 有什么办法可以中断另一个线程的调用吗 一切都指向向线程发送信号 但显然你只能发送一个process一个信号 我不能直接杀死线程 因为这样会使套接字保持打开状态 无论如何 这
  • 当我不指定操作数大小时,push 指令将多少字节压入堆栈?

    我可以通过这样做将 4 个字节压入堆栈 push DWORD 123 但我发现我可以使用push不指定操作数大小 push 123 在这种情况下 有多少字节push指令压入堆栈 推送的字节数是否取决于操作数大小 因此在我的示例中它将推送 1
  • 如何在 Spark 中强制执行 DataFrame 评估

    有时 例如 为了测试和基准测试 我想强制执行 DataFrame 上定义的转换 AFAIK 调用类似的操作count并不能确保所有Columns实际上是计算出来的 show可能只计算所有的子集Rows 参见下面的示例 我的解决方案是写Dat
  • CSS 中的点是什么意思?

    有人能解释一下这两个 CSS 选择器的区别吗 work container h3 font size 14px margin top 0px font weight 600 height 27px 上面定义中额外的点是什么 work con
  • 滚动结束后如何调用函数?

    我想在滚动结束后立即调用一个函数 我尝试过load不同的事情 但没有一个完全有效 然后我在 SO 中找到了这个解决方案 我如何知道我何时停止滚动 Javascript 我仔细研究了第二个答案并尝试了它 它有效 然后我尝试根据我的目的稍微改变
  • HTML5 中的 polyfill 的含义是什么?

    HTML5 中的 polyfill 的含义是什么 我在很多关于 HTML5 的网站上看到这个词 例如HTML5 跨浏览器 Polyfills 所以我们在这里收集所有的垫片 回退和填充 为了在不支持的浏览器中植入 HTML5 功能 天生就支持
  • 调用 Codeigniter 中未定义的函数 ibase_connect()

    我无法在 firebird 中连接到当地银行 由于我在 php ini 中启用了以下扩展 但没有得到任何结果 扩展名 php interbase dll 扩展名 interbase so 扩展名 php pdo firebird dll 我
  • Facebook C# SDK、iFrame 应用程序中的 AJAX

    我正在使用 Facebook C SDK 为 Facebook 制作一个 iFrame 应用程序 我知道用户正在进行身份验证 我可以使用 Graph API FaceBookApp Api userid 获取他们的用户名 我现在的问题是 当
  • UIImagePickerController 在关闭后重新加载视图?

    我创建选择器 UIImagePickerController imagePicker UIImagePickerController alloc init imagePicker sourceType UIImagePickerContro
  • 在 WPF DataGrid 上显示行号的简单方法

    我只想在我的最左边的列中显示行号DataGrid 有什么属性可以做到这一点吗 请记住 这不是我的表的主键 当对列进行排序时 我不希望这些行号随行移动 我基本上想要一个运行计数 它甚至不需要有标题 一种方法是将它们添加到 DataGrid 的
  • 网络挖掘、抓取或爬行?我应该使用什么工具/库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想抓取一些网页并将其保存为 HTML 比如说 爬入数百个流行网站并简单地保存它们的首页和 关于 页面 我研究了很多问题 但没有从网络爬行或网络抓取