0 投票
分类:Python编程与实践 | 用户: (280 分)

如下图框框所勾选的数据,该如何使用正则表达式去提取数据呢?网址为:https://www.nba.com/stats/player/977/career

提问者试图用如下愚蠢代码来逝逝,不知道我应该在哪些地方改进

from bs4 import BeautifulSoup
import requests
import re
content = requests.get("https://www.nba.com/stats/player/977/career").text
res_tr = r'<td>(.*?)</td>'
m_tr =  re.findall(res_tr,content,re.S|re.M)
print(m_tr)

 

1个回答

0 投票
用户: (45.4k 分)
采纳于 用户:
 
已采纳

该页面通过JS动态填充数据,采用类似Ajax的机制,所以你要抽取的数据并不在页面上,通过浏览 https://www.nba.com/stats/player/977/career 的网页源码就能看出,所以需要先分析页面现实过程中动态访问了哪些数据,看看你想要的数据分布在哪些请求响应里,再对这些请求进行相应的处理

用户: (280 分)
看来我还有很多要学,谢谢老师
欢迎来到 爱可可Q&A ,有什么问题可以尽管在这里提问,你将会收到其他成员的热心回答。
...