如果源 HTML 不包含实际数字,我该如何*网络抓取*?



大家好,我是计算机编程界的新手。所以我可能会问一些愚蠢的问题。我试图建立一个网络抓取工具使用python一些统计数据从韩国统计局(KOSIS)。这就是我的做法它一直返回错误提示'NoneType'对象没有属性'find'">


import csv
import requests
from bs4 import BeautifulSoup
url = "https://kosis.kr/statHtml/statHtml.do?orgId=101&tblId=DT_1K31002&conn_path=I2"
res = requests.get(url)
res.raise_for_status()
soup = BeautifulSoup(res.text, "lxml")
data_rows = soup.find("table", attrs = {"id" : "mainTable"}).find("tbody").find_all("tr")
print(data_rows.get_text())

我搜索了我的问题,发现浏览器中的DOM与实际的HTML源不同。所以我进入查看源页面(查看源:https://kosis.kr/statHtml/statHtml.do?orgId=101&tblId=DT_1K31002&conn_path=I2),因为我对HTML一无所知,我在codebeautify中运行它,发现源代码不包含我所看到的任何数字?嗯。有人能教我这是怎么回事吗?谢谢!

我建议你使用Puppeteer进行网页抓取(这在幕后使用Google Chrome),因为许多网页在HTML页面加载后使用javascript来操纵DOM。因此,当页面完全加载时,原始DOM就不一样了。

我找到了一个链接https://rexben.medium.com/introduction-to-web-scraping-with-puppeteer-1465b89fcf0b

相关内容

  • 没有找到相关文章

最新更新