寻找网站的URL查询参数

0 投票
1 回答
41 浏览
提问于 2025-04-14 18:37

我在尝试使用这个 search.py 的代码来抓取一个网站,使用的是 urlsearch_url。这个代码能生成json格式的结果——这是怎么通过开发者工具实现的呢?
我看到首先发送了一个请求,使用的是 referer_link

headers = {'Referer': referer_link, 'X-Requested-With': 'XMLHttpRequest'} 

然后是一个暂停,接着是带有查询键/值的搜索网址

html = client.request(url, headers=headers)

我想在火狐的开发者工具中复现这个过程,但似乎找不到其他可用的查询键/值参数。请问我该如何获取这些参数呢?

我有一个具体的问题——我尝试了一个修改过的搜索查询

https://rlsbb.cc/Home/GetPost?phrase=&pindex=1

这个查询返回了网页上当前的帖子,格式是json,但我不知道怎么限制查询,只获取在特定时间段内的 电视节目,比如说:类别 - 电视节目日期 - 2024-03-01日期 - 2024-03-02 之间?

我知道这个网站没有任何API文档,至少我没有找到。如果能做到这一点,那就可以避免抓取html,因为json数据在python中更容易处理。感谢你的关注和时间。

OZooHA

1 个回答

0

好的,我查看了你的 JSON 结果(https://rlsbb.cc/Home/GetPost?phrase=&pindex=1),发现你所有的对象都有 "tbl_wp_category":null 这个分类,所以如果你是想引用其他的键,请告诉我。

至于日期的问题,你可以在你的对象数组 "results" 上执行一个 for 循环,只输出那些 "post_date"2024-03-02 之前和 2024-03-01 之后的对象。

像这样:

import json
from datetime import datetime

# your JSON data
data = {}

final_result=[]
# Convert JSON string to dictionary
results = data["results"]

# Loop through each result
for result in results:
    # Get the post_date as a string
    post_date_str = result["post_date"]
    
    # Convert post_date string to datetime object
    post_date = datetime.strptime(post_date_str, "%Y-%m-%d %H:%M:%S")
    
    # Define the start and end date ranges
    start_date = datetime(2024, 3, 1)
    end_date = datetime(2024, 3, 2)
    
    # Check if post_date is between start_date and end_date
    if start_date <= post_date <= end_date:
        final_result.append(result)

撰写回答