【问题标题】:Python - trying to get URL (href) from web scraping using ScrapyPython - 尝试使用 Scrapy 从网络抓取中获取 URL(href)
【发布时间】:2020-06-10 20:47:47
【问题描述】:

我正在尝试使用网页抓取(特别是使用 Scrapy)从网页中获取 URL 或 href。但是,当我 response.xpath('XPATH').extract() href 链接时,它会返回一个空列表。 HTML页面结构为: 我要获取的特定 HTML 元素 href 是:<a href="#2020-38970" class="redNoticeItem__labelLink" data-singleurl="https://ws-public.interpol.int/notices/v1/red/2020-38970">MAGOMEDOVA<br>MADINA</a>

xpath 命令的结果是:

对于上下文,我正在尝试获取每个人的 URL 中的信息并提取它,但我无法从网页中检索到 href。

我复制了 HTML 元素的完整 xpath,它是:/html/body/div1/div1/div[6]/div/div2/div/div2/ div2/div/div2/div/div/div2/div1/a.

但是当我运行响应 xpath 命令时,这仍然返回 []。

【问题讨论】:

标签: python html web-scraping scrapy


【解决方案1】:

在这种情况下,我个人不会使用 xpath。我什至不会使用 Scrapy。在这种情况下,我相信最简单的解决方案是同时使用 BeautifulSoup 和 requests。

import BeautifulSoup as bs4
import requests
url=YOUR_URL_HERE
soup=BeautifulSoup(requests.get(url).text)
links=soup.find_all('a')
urls=[x['href'] for x in links]

此代码将为您提供列表中页面上每个链接的href,您可以按类或您需要的任何内容进一步过滤列表。

【讨论】:

    【解决方案2】:

    您可以简单地使用response.xpath ("//a[@class='redNoticeItem__labelLink']").extract()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 2015-01-15
      相关资源
      最近更新 更多