对Javascrip生成的网页进行爬网

2024-09-28 03:11:37 发布

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

我想从this website抓取数据
我只需要文本“象形字-一个勺子,里面有东西”

我查看了网络->;文档,我认为信息隐藏在这里。你知道吗

enter image description here

因为我发现有一条线是
i.length > 0 && (r += '<span>&raquo;&nbsp;Formation:&nbsp;&nbsp;<\/span>' + i + _Eb)

我认为这个页面生成了我们可以从link看到的部分页面。你知道吗

但是,我不知道代码是什么?它有html,但是它也包含很多function()。你知道吗


更新
如果代码是Javascript,我想知道如何在不使用Selenium的情况下对网站进行爬网?你知道吗

谢谢!你知道吗


Tags: 数据代码文档文本gt网络信息页面
1条回答
网友
1楼 · 发布于 2024-09-28 03:11:37

此页使用JavaScript添加此元素。使用Selenium我可以在添加这个元素之后获得HTML,然后我可以在HTML中搜索文本。这个HTML有奇怪的结构-所有的文本都在标签中,所以这个部分没有特殊的标签来找到它。但是它是这个标记中的最后一个文本,它以"Formation:"开始,所以我使用BeautifulSoup将所有文本与所有子标记一起使用get_text()进行转换,然后我可以使用split('Formation:')来获取这个元素后面的文本。你知道吗

import selenium.webdriver
from bs4 import BeautifulSoup as BS

driver = selenium.webdriver.Firefox()
driver.get('https://www.archchinese.com/chinese_english_dictionary.html?find=%E4%B8%8E')

soup = BS(driver.page_source)
text = soup.find('div', {'id': "charDef"}).get_text()
text = text.split('Formation:')[-1]

print(text.strip())

也许Selenium工作较慢,但创建解决方案的速度更快。你知道吗

如果我能找到JavaScript用来加载数据的url,那么我会在没有Selenium的情况下使用它,但是我在XHR响应中没有看到这些信息。几乎没有经过压缩(可能是gzip)或编码的响应,可能有这个文本,但我没有尝试解压缩/解码它。你知道吗

相关问题 更多 >

    热门问题