python - 从大量 URL 中抓取信息
问题描述
我需要从本网站的动力装置中抓取信息:https ://www.marktstammdatenregister.de/MaStR/Einheit/Einheiten/OeffentlicheEinheitenuebersicht#stromerzeugung
对于每个 ID,我需要访问其自己的页面并检索一些特定信息。由于链接中有 4 个选项卡(即 urls#tab1、urls#tab2...),因此将创建 200 万个 ID,总共有 800 万个链接。
如果我通过每个 ID 执行手动 for 循环,我的 IP 可能会被锁定。有没有其他方法可以解决这个特定问题?
解决方案
Sahsahae 强调了一些优点,如机器人、使用延迟等。但是,我还要强调 UserAgent 和 IP 的使用。
如果您从相同的 IP 和 UserAgent 请求链接,某些网站/主机具有跟踪您的机制。如果您有 VPN,您还可以在不同的 IP 之间切换并中断您的抓取过程。但是,对于 UserAgent 部分,值得一试fake-useragent。代码块与请求库集成非常简单。
这样,您并没有消除但至少减少了目标主机认为它是同一个人发送请求的可能性。如果您真的不希望被禁止,或者至少尽可能多地抓取,延迟、用户代理和 IP 的组合可以帮助您。
推荐阅读
- java - JProfiler 能够为一个用户找到 JVM 进程,但可以在同一台机器上为另一个用户找到它
- google-cloud-platform - GCP 外部 HTTP(S) 负载均衡器返回 502:“backend_connection_closed_before_data_sent_to_client”
- android - 首次创建时无法构建 Bare Expo 应用程序(Expo SDK 42)
- python - Plotly (Python/Express):在图表和图例上设置最小宽度
- reactjs - ConnectyCube Messaging -web 中的连接未脱机
- node.js - 如何在 NestJS 上使用猫鼬
- c++ - 明智的安装 使用 Setup.iss 进行静默安装
- reactjs - 索引文件中的反应js错误无法更新组件问题
- reactjs - 模态在反应本机模态中不正确
- vue.js - 带有 Vue JS 的 ASP.NET Core 5 从源访问 XMLHttpRequest 已被 CORS 策略阻止