【问题标题】:Cannot scrape google patent URL through python and Beautiful Soup无法通过 python 和 Beautiful Soup 抓取谷歌专利 URL
【发布时间】:2021-06-02 18:27:08
【问题描述】:

我目前正在尝试在此页面上抓取指向 Google 专利的链接, https://datatool.patentsview.org/#detail/patent/10745438,但是当我尝试打印所有带有“a”标签的链接时,只会出现一个不相关的网站。

到目前为止,这是我的代码:

url = 'https://datatool.patentsview.org/#detail/patent/10745438'
soup = BeautifulSoup(requests.get(url).content, 'html.parser')

links = []
print(soup)
for link in soup.find_all('a', href=True):
    print(link['href'])

当我打印出汤时,没有打印带有指向谷歌专利链接的“a”标签,也没有打印数组中的链接。唯一打印的是

http://uspto.gov/
tel:1-800-786-9199
./#viz/relationships
./#viz/locations
./#viz/comparisons

,这都是不必要的信息。谷歌是否以某种方式保护他们的链接,还是有任何其他方式可以检索到谷歌专利的链接或重定向到页面?

【问题讨论】:

  • 链接似乎受到保护。如果您选择inspect-element(在网页上),您会注意到链接位于div class="overlay" 中,它不会出现在解析的汤中。
  • 即使链接受到保护,是否仍然可以访问该链接?
  • 我看到您正在尝试打印所有的 a href,但是是否有特定链接是您真正尝试在该页面中捕获的链接区域(我假设类似的页面)?
  • @pedwards 是的,在这种情况下,我正在尝试获取重定向到谷歌专利的链接,特别是 google.com/patents/US10745438。文本将“转到谷歌专利”作为超链接。
  • 我正在尝试安装一个对我来说非常有趣的软件包,它可以执行您正在尝试的功能。由于某种原因,我在安装它时遇到了麻烦。但是看看 requests_html python 包。我认为它会做你想要的。 pypi.org/project/requests-html

标签: python beautifulsoup google-patent-search


【解决方案1】:

不要抓取它,只是做一些链接黑客:

url = 'https://datatool.patentsview.org/#detail/patent/10745438'
google_patents_url = 'https://www.google.com/patents/US' + url.rsplit('/', 1)[1]

【讨论】:

  • 绝妙的解决方法。但是,你是怎么知道的呢?是否有任何特定的文档/API?
  • 不,我只是意识到两个链接中的数字相同。显然这是专利号,它允许一些方便的链接黑客攻击。
猜你喜欢
  • 2020-04-22
  • 2017-08-14
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-09
  • 1970-01-01
  • 2019-11-14
相关资源
最近更新 更多