Skip to main content
 首页 » 编程设计

python之使用 Python 和 Beautifulsoup 从日历中提取数据

2025年05月04日12落叶无声

我想获取日历中的数据:

http://www.purebhakti.com/component/panjika

我考虑过使用 Python 和 beautifulsoap,但我接受建议。

我想参加当天的事件:

2017 年 4 月 22 日:Ekādaśī,K,06:09,Satabhiṣā

+ŚUDDHA EKĀDAŚĪ VRATA:为 Varūthinī EKADASI 禁食

如何让节目到达日历(自动选择时区和城市后)?例如: 时区 = -3:00 布宜诺斯艾利斯 城市 = 里约热内卢

from bs4 import BeautifulSoup 
import requests 
 
url = 'http://www.purebhakti.com/component/panjika' 
header = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' 
                        'AppleWebKit/537.36 (KHTML, like Gecko) ' 
                        'Chrome/51.0.2704.103 Safari/537.36'} 
 
 
 
req = requests.get(url,headers= header) 
 
html = req.text 
 
soup = BeautifulSoup(html,'html.parser') 

请您参考如下方法:

import requests, bs4 
from urllib.parse import parse_qsl 
 
qs = 'action=2&timezone=23&location=Rio+de+Janeiro%2C+Brazil++++++++043W15+22S54+++++-3.00&button=Get+Calendar' 
payload = dict(parse_qsl(qs)) 
r = requests.post('http://www.purebhakti.com/component/panjika', data=payload) 

当你点击按钮时,你正在发布数据到服务器,你可以在chrome开发工具中找到数据。

我们可以通过 requests.post()

模仿这种行为

我还使用 parse_qsl 将编码的 url 转换为 python 字典:

{'action': '2', 
'button': 'Get Calendar', 
 'location': 'Rio de Janeiro, Brazil        043W15 22S54     -3.00', 
 'timezone': '23'}