如何在jsoup

时间:2018-05-21 12:27:20

标签: web-scraping jsoup

我正在以广度优先的方式在java中使用jsoup进行一些网络抓取。换句话说,对于每个页面,我提取所有链接并将它们添加到队列中进行抓取,然后我在一个while循环中取消并抓取url,在队列为空时停止。我想要做的是在将目标文档的大小添加到边界/队列进行抓取之前按目标文档的大小对链接进行排序,以便首先抓取较小的文档。有没有办法在实际下载整个文档之前从URL获取给定文档的大小?例如,在调用connection.get()加载整个文档之前,是否有一种从连接获取http Content-length的方法?感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用http HEAD方法获取内容长度,而无需下载请求体。 使用jsoup,这可能如下所示:

<QueryComponent
  search={this.state.search}
  productcategory={this.state.productcategory}
/>
<SelectorComponent
  onSearchChange={search => this.setState({ search })}
  onCategoryChange={productcategory => this.setState({ productcategory })}
/>

有关http HEAD方法的更多信息:https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/HEAD