java - 使用 Jsoup 从表格和网站的所有选项卡获取链接

标签 java web-scraping jsoup

我是网络抓取新手,因此问题可能没有得到完美的阐述。我试图按字母顺序从给定页面中提取所有药物名称链接,从而提取所有 a-z 药物链接,然后迭代这些链接以从每个链接中提取信息,例如通用名称、品牌等。我有一个非常基本的下面的代码不起作用。对于解决这个问题的一些帮助将非常感激。

public class WebScraper {
  public static void main(String[] args) throws Exception {

    String keyword = "a"; //will iterate through all the alphabets eventually
    String url = "http://www.medindia.net/drug-price/brand-index.asp?alpha=" + keyword; 

    Document doc = Jsoup.connect(url).get();
    Element table = doc.select("table").first();
    Elements links = table.select("a[href]"); // a with href
    for (Element link : links) {
    System.out.println(link.attr("href"));
  }
}

最佳答案

查看网站和您期望得到的内容后,您似乎捕获了错误的表格元素。您不需要第一个表,您需要第二个表。

要获取特定的表,您可以使用以下命令:

Element table = doc.select("table").get(1);

这将获取索引 1 处的表格,即文档中的第二个表格。

关于java - 使用 Jsoup 从表格和网站的所有选项卡获取链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49031941/

相关文章:

java - 带 Set 的循环,是 O(n) 吗?

java - 从 java map reduce 代码中跳过 header

Python Selenium - 'Unable to locate element' 可见后

Java递归函数判断两个连续数字是否相等

python - 使用 python3.6 抓取网站。我无法进入登录页面

python - 从 Gmail 下载子文件夹

javascript - 无法使用 Jquery 和 Jsoup 访问动态生成的元素

java - 为什么打印一半结果

java - 使用 jsoup 从其他 div/id 类中的类中提取 href

基于 Java/Ruby 的 IMAP 代理库