Web抓取是从不易提供API或其他自动数据检索方法的网站中提取特定信息的过程。关于“如何开始使用刮擦”(例如使用Excel VBA)的问题应该*进行彻底的研究*,因为有许多功能代码示例可供使用。 Web抓取方法包括第三方应用程序,定制软件的开发,甚至是标准化方式的手动数据收集。
TikTok 查询视频研究 API - 获取搜索 ID 无效或过期
我在 TikTok 上有一个研究帐户,正在使用他们的查询视频 API。文档在这里。 我正在尝试通过搜索检索一天中的所有视频,这需要多次调用,所以...
Python - Selenium - 如何查找特定项目的 XPATH
我有一个网页,我可以遍历多个页面...现在我需要从具有项目列表的网页中选择一个特定的项目/按钮。不知道如何使用 XPATH 或 ...
为什么我的 BeautifulSoup 脚本无法正确解析下议院财务利益登记册页面中的 .htm 数据?
导入请求 从 bs4 导入 BeautifulSoup # MP 的基本 URL base_url =“https://publications.parliament.uk/pa/cm/cmregmem/240930/” # 内容页面 URL content_url = f"{ba...
这是我写的代码: # 蜘蛛.py def start_requests(自身): yield scrapy.Request(url=self.url, method='POST', callback=self.parse, dont_filter=True, flags=['这是开始请求方法...
Python - Selenium - 无法在网页中找到元素 (https://instamembers.appspot.com/)
当前代码的目的是找到“注册”文本并将其作为按钮单击。它看起来/作用就像一个按钮。 可能与这些组件有关。 这是检查...
由于 NoneType 而使用 Selenium 时遇到报废数据的错误
我正在从需要登录的网站 https://octopus.energy/dashboard/new/accounts 提取数据。我已经使用 Selenium 和此代码成功访问了它。 驱动程序 = webdriver.Ch...
使用 selenium 报废数据时出现 NoneType 错误
我正在抓取这个网站 https://octopus.energy/dashboard/new/accounts 它位于登录后面,我一直在使用 selenium 来访问,使用此代码可以正常工作。 驱动程序 = webdriver.Chrome(...
如何在不使用浏览器自动化工具的情况下使用 Firebase 身份验证自动登录网站?
我有这个网站,我想每天通过向该网站发送带有不记名令牌的不同http请求来抓取。该任务要求我手动使用我的谷歌帐户登录,复制不记名令牌并...
目前我有一个网站,其 HTML 中有此内容。 我通过检查chrome开发者工具中的元素确认了这一点。 目前我有一个网站,其 HTML 中有此内容。 我通过检查chrome开发者工具中的元素确认了这一点。 <div class="hdp-photo-carousel" style="transform: translateX(0px);"> <div class="photo-tile photo-tile-large"> 我目视查看页面打开,可以看到该项目在那里。 然后 30 秒后我收到此错误: UnhandledPromiseRejectionWarning: TimeoutError: waiting for selector ".photo-tile" failed: timeout 30000ms exceeded 我在 puppeteer js 中的代码是: const pptrFirefox = require('puppeteer-firefox'); (async () => { const browser = await pptrFirefox.launch({headless: false}); const page = await browser.newPage(); await page.goto('https://zillow.com'); await page.type('.react-autosuggest__input', '8002 Blandwood Rd. Downey, CA 90240'); await page.click('.zsg-search-button_primary'); await page.waitForSelector('.photo-tile'); console.log('did I get this far?'); })(); 谁能告诉我我做错了什么? 每次页面内容更新时都需要添加page.waitForNavigation()。 (async () => { const browser = await pptrFirefox.launch({headless: false}); const page = await browser.newPage(); const navigationPromise = page.waitForNavigation({waitUntil: "domcontentloaded"}); await page.goto('https://zillow.com'); await navigationPromise; await page.type('.react-autosuggest__input', '8002 Blandwood Rd. Downey, CA 0240'); await page.click('.zsg-search-button_primary'); await navigationPromise; await page.waitForSelector('.photo-tile'); console.log('did I get this far?'); })(); 自提出此问题以来,该网站在 4 年内发生了变化,但这是一个常见的故事:手动验证某个元素是否存在于开发工具中,并将选择器复制到 Puppeteer,但等待时超时。 至少有一些常见原因: 该元素位于影子根中 该元素位于 iframe 中 元素需要滚动到视图中,否则会超出视口 服务器将您的脚本检测为机器人并阻止您,或呈现验证码 一种调试策略是全神贯注地运行(OP 已经这样做了,但未来的访问者可能不会这样做)。如果代码有效,那么该网站只会在您无头时将您检测为机器人。请参阅规范的 Why does headless need to false for Puppeteer to work? 了解后续步骤。 console.log(await page.content()) 可以帮助确定您是否被无头屏蔽。 如果拼命跑还是不行,查看页面看看原因。在某些情况下,页面可能会显示验证码,从而导致使用 puppeteer 通过 Headless Chrome 绕过验证码。在撰写本文时,当前问题似乎就是这种情况。 通常,添加更多 waitForNavigation 并将超时设置为 0 没有帮助(除非您通过单击或表单提交在页面之间导航,那么 waitForNavigation 可能是合适的)。 披露:我是链接博客文章的作者。
我正在尝试捕获页面上每个用户的用户名。我已经为 itemArea 变量尝试了大约 5 种不同的 CSS 选择器输入。我想我对 css 或 html 的经验还不够...... 如果
使用 Puppeteer 和 Cheerio 抓取带有图像的卡片列表时丢失数据
我正在尝试刮一页卡片项目。我想从这些卡片中提取标题、价格、图像来源和其他属性。然而,当我用 Puppeteer 和 Cheerio 进行刮擦时,有些...
Puppeteer PDF-下载在下载的文件中显示 Chrome 工具栏
我正在尝试使用 puppeteer 下载 PDF 文件,但每次 Google Chrome 工具栏出现时,即使我使用纯 PDF 下载链接。 我尝试使用此代码下载 PDF: 公共...
这是我试图在 process_request 方法中给出主体的请求: 产量 scrapy.Request(url=self.url, method='POST',callback=self.parse) 这就是我尝试做的事情: 身体 = self.body.en...
如何从javascript获取Beautifulsoup中的图像?
在我的学校,我们有一个交互式白板,我们可以将它们导出到带有提供的链接的网站。唯一的问题是链接过期了(这很愚蠢),所以我想做一个简单的 python ...
ValueError:使用 urllib.request 抓取 Google 搜索结果时出现未知的 url 类型
我是Python新手,正在开发一个网络抓取项目来学习。我正在尝试从 Google 搜索结果中提取今天的温度。我已经将不同来源的代码拼凑在一起,但我
这是我来自 jupyter 实验室的代码。我试图让 pandas 以与高级传递相同的方式输出“高级接收”表,但我不断收到此错误“
我想抓取以下网站:https://www.coches.net/segunda-mano/。 但每次我用 python selenium 打开它时,我都会收到消息说他们检测到我是机器人。 我怎样才能绕过这个
发现 javascript 错误:无法读取 null 的属性(读取“shadowRoot”)
我正在尝试使用 python 进行网页抓取,但发现错误 JavascriptException:javascript错误:无法读取 null 的属性(读取“shadowRoot”) 我不明白如何解决它。 请...
我一直在使用 ESPN 上公开可用的 API 抓取数据 https://hs-consumer-api.espncricinfo.com/ 端点。以下是其中一个端点的示例 v1/页面/比赛/记分卡?l...
我正在尝试使用 Chrome 驱动程序从网站获取信息。 我想要得到有时看起来像的东西 /html/body/div[1]/div/div/div/div[2]/div/div[2]/div/div[2]/div[2]/div[4]/div[2]/跨度[...