我正在尝试获取instagram个人资料页面的html,但当我使用requests库时,它会获取加载屏幕的html,而我希望在加载后获得页面的html。这是我的代码:
from bs4 import BeautifulSoup
import requests
source = requests.get("https://www.instagram.com/ethieen/").text
soup = BeautifulSoup(source,"lxml")
body = soup.find("body")
print(body.prettify())发布于 2020-06-09 02:16:55
该端可能使用JavaScript,因此您希望能够使用BeautifulSoup访问它,因为它不支持JavaScript。
要测试这一点,您可以在浏览器中停用JS,然后导航到该页面。加载的内容是您可以通过BeautifulSoup访问的内容。
发布于 2020-06-09 02:17:54
此页面由js (ajax)加载。您可以使用puppeteer实现这一点
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.instagram.com/ethieen', {waitUntil: 'networkidle2'});
await page.pdf({path: 'hn.pdf', format: 'A4'});
await browser.close();
})();https://stackoverflow.com/questions/62268534
复制相似问题