如何用 Python 抓取 javascript 网站?

WBOY
发布: 2024-02-10 15:40:04
转载
1127 人浏览过

如何用 Python 抓取 javascript 网站?

问题内容

我正在尝试抓取一个网站。我尝试过使用两种方法,但两种方法都没有为我提供我正在寻找的完整网站源代码。我正在尝试从下面提供的网站 url 中抓取新闻标题。

网址:“https://www.todayonline.com/”

这是我尝试过但失败的两种方法。

方法一:美汤

tdy_url = "https://www.todayonline.com/"
page = requests.get(tdy_url).text
soup = beautifulsoup(page)
soup  # returns me a html with javascript text
soup.find_all('h3')

### returns me empty list []
登录后复制

方法2:selenium + beautifulsoup

tdy_url = "https://www.todayonline.com/"

options = Options()
options.headless = True

driver = webdriver.Chrome("chromedriver",options=options)

driver.get(tdy_url)
time.sleep(10)
html = driver.page_source

soup = BeautifulSoup(html)
soup.find_all('h3')

### Returns me only less than 1/4 of the 'h3' tags found in the original page source
登录后复制

请帮忙。我尝试过抓取其他新闻网站,这要容易得多。谢谢。


正确答案


您可以通过 api 访问数据(查看“网络”选项卡):

例如,

import requests
url = "https://www.todayonline.com/api/v3/news_feed/7"
data = requests.get(url).json()
登录后复制

以上是如何用 Python 抓取 javascript 网站?的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!