使用Java和Apache Nutch从网站抓取动态元素

of1yzvn4  于 2023-03-11  发布在  Java
关注(0)|答案(2)|浏览(108)

我想用Java来做抓取和apache nutch来是第一选择。我不得不刮动态元素从网站一样的价格和里程的车辆。我已经做了设置,并试图执行nutch的seed.txt url -https://www.andersondouglas.com/used-vehicles/?q=3gncjksb5kl218243。但所有我可以看到的抓取/段是一个文件,其中只包含网址名称。我看不到/找到网页的HTML内容抓取。有人能请帮助。我怎么才能刮的HTML内容。
Apache-螺母版本1.19

fd3cxomn

fd3cxomn1#

以下是获取URL和导出所获取页面的HTML的步骤:
1.安装Nutch并按照Nutch tutorial中的说明配置代理名称。除代理名称外,所有其他配置设置均为默认设置。后续步骤在空目录中运行。命令nutch代表...nutch_install_path/bin/nutch
1.将URL放入种子文件:echo https://nutch.apache.org/ >seeds.txt
1.将种子注入CrawlDb:nutch inject crawldb seeds.txt
1.生成段:nutch generate crawldb/ segments/
1.获取生成的段:nutch fetch segments/20230310113604/(段名是时间戳,需要进行调整)
1.(可选)解析段:nutch parse segments/20230310113604/(仅在需要元数据、外部链接或纯文本时才需要)
1.获取URL的记录(它包括HTML,但也包括更多信息):

$> nutch readseg -get segments/20230310113604/ https://nutch.apache.org/
...
Content:
<!DOCTYPE html>
<html lang="en-us">

<head>
  <meta name="generator" content="Hugo 0.92.2" />
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title> Apache Nutch™ </title>
  ...
  • (或者)转储段:
nutch readseg -dump segments/20230310113604/ segdump -recode
  • HTML文本被写入segdump/dump
  • 它被重新编码为UTF-8
  • 运行nutch readseg以获得更多命令行选项的帮助
yyyllmsg

yyyllmsg2#

页面的原始内容(HTML,但也可以是二进制格式,如PDF)存储在子文件夹“content”的段中。请注意,内容仅存储在

  • 如果属性fetcher.store.content为真(这是默认值)并且
  • 如果获取成功(尝试获取给定的URL导致HTTP 403禁止)。很可能该站点受到保护。

相关问题