从大量URL中删除信息

2024-09-27 17:37:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在这个网站上从powerplant抓取信息:https://www.marktstammdatenregister.de/MaStR/Einheit/Einheiten/OeffentlicheEinheitenuebersicht#stromerzeugung

对于每个ID,我需要访问它自己的页面并检索一些特定的信息。由于一个链接中有4个选项卡(即url#tab1,url#tab2…),因此将创建200万个id,总共生成800万个链接。你知道吗

如果我为每个ID做一个循环手册,我的IP可能会被锁定。 有没有其他办法解决这个具体问题?你知道吗


Tags: https信息idurl网站链接wwwde
2条回答

更新

我把它翻译成英文,在右边,有一个按钮,可以导出csv。。。只需下载该文件并使用任何可用的CSV解析器进行解析。我会保留原来的答案,因为它确实适用于当没有这样的选择。你知道吗

原始答案

如果他们没有提供任何API来方便地访问数据,那么很可能意味着他们并不真正关心或希望其他人获得数据。你知道吗

他们没有机器人.txt,所以从技术上讲,你可以免费刮他们的整个网站,他们没有权利投诉。你知道吗

最好的办法就是。。。试着刮一下。通常情况下,它们有速率限制,而不是实际的禁止,您可以在请求失败时以尽可能快的速度刮取,使用指数后退-第一次失败时,等待5秒再重试,第二次失败时,10秒再重试,第三次失败时,20秒。。。在第一次成功时,再次全速刮水,一旦再次失败,重复所有步骤。你知道吗

或者你可以一次慢慢地把整页都刮下来,然后等一等,以此类推。你知道吗

如果我真的担心被无限期阻塞,我不会太担心需要多长时间,慢慢地刮。你知道吗

网站通常在专用服务器上运行,一个刮板每分钟发出数百个请求,并不会真正降低它的性能。你知道吗

sahae强调了一些优点,比如机器人、使用延迟等。但是,我也要强调用户代理和ip的使用。你知道吗

如果您从相同的IP和用户代理请求链接,某些网站/主机会有跟踪机制。如果你有一个VPN,你也可以在不同的IP之间切换,打破你的刮擦过程。但是,对于UserAgent部分,值得检查一下fake-useragent。代码块很容易与requests库集成。你知道吗

通过这种方式,您并没有消除但至少减少了目标主机认为是同一个人发送请求的可能性。如果你真的不想被禁止,或者至少尽你所能,延迟、用户代理和IP的组合可以帮助你。你知道吗

相关问题 更多 >

    热门问题