BeautifulSoup使用Python通过分页表抓取数据

2024-10-04 03:24:02 发布

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

我正在通过一个投注网站收集数据 (https://www.pointdevente.parionssport.fdj.fr/parisouverts/rugby)。在

我可以在当前页面上抓取有限数量的事件。我面临的问题是我无法浏览表中的其余数据。 如何转到下一页或链接。在

以下是我的代码:

import urllib2
from urllib2 import urlopen
import requests
import dryscrape
from bs4 import BeautifulSoup

dryscrape.start_xvfb()
SessionFDJ = dryscrape.Session()
SessionFDJ.visit('https://pointdevente.parionssport.fdj.fr/parisouverts/rugby/')
ResponseFDJ = SessionFDJ.body()
print(ResponseFDJ)

Tags: 数据fromhttpsimport网站frurllib2rugby
2条回答

此页使用JavaScript获取所有数据并对其进行更改。使用Chrome/Firefox中的DevTools查看浏览器使用了哪些文件/url,您可以看到

https://www.pointdevente.parionssport.fdj.fr/api/1n2/offre?sport=964500

所有的数据都是JSON。在

这个页面似乎使用了API,所以找到API文档,您就不需要BeautifulSoup


import requests

url = 'https://www.pointdevente.parionssport.fdj.fr/api/1n2/offre?sport=964500'

r = requests.get(url)

for x in data:
    print(x['label'])

结果:

^{pr2}$

这是一个客户端呈现的应用程序,在HTML中没有可以通过urllib获取的表信息。所有数据都是用Javascript检索和呈现的。更简单的是,你不必解析HTML。在

这里有一个链接,它有必要的数据-https://www.pointdevente.parionssport.fdj.fr/api/1n2/offre?sport=964500

它返回包含所有事件的JSON,您可以使用Pythonjson库来解析它。在

相关问题 更多 >