【问题标题】:Web crawling domain issue网络爬取域名问题
【发布时间】:2020-01-18 21:21:27
【问题描述】:

我正在使用一个小脚本来抓取一些域链接并使用它生成站点地图。

现在它正在工作,它相当简单。

但是我需要爬取一个特定的域,并且由于某种原因这个域不允许我爬取任何东西,它确实有链接,还有一个 sitemap.xml 文件。

我想这肯定有一些 robots.txt 或任何其他服务器端技巧,假设这种情况,有什么办法可以解决这个问题?

我想过阅读站点地图的 xml 文件并将其写入某个地方,但是大声笑,这有点奇怪。

This 是域。

这就是代码,虽然现在可以正常工作,但对于其他域:

import urllib.request as urllib2
from bs4 import BeautifulSoup

myurl = "https://www.google.com/"
url = urllib2.urlopen(myurl)

soup = BeautifulSoup(url,'html.parser')

all_links = soup.find_all('a')

for link in all_links:
    print(link.get('href'))

对此有何想法/解决方法?

非常感谢

【问题讨论】:

  • NeoVe 你能澄清一下你的目标是什么。您提到要生成站点地图,但有问题的域已经提供了一个。

标签: python web-crawler urllib robots.txt


【解决方案1】:

您无法使用脚本获取任何内容的原因是该网站是用 React 编写的,这意味着链接是用 Javascript 填充的。为了抓取此类网站,您需要使用能够执行嵌入式 Javascript 代码的工具。你可以使用Seleniumrequests-html 之类的东西(来自著名的requests 包的创建者)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多