寻找网站的url查询参数

问题描述 投票:0回答:1

我正在尝试使用 urlsearch_url 来使用这个 search.py 代码库来抓取该网站。它以 json 格式生成结果 - 它是如何使用开发工具实现的?
我可以看到首先使用 referer_link

发送了请求
headers = {'Referer': referer_link, 'X-Requested-With': 'XMLHttpRequest'} 

随后是暂停,然后是带有查询键/值的搜索网址

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

我正在尝试在 Firefox 开发工具中复制它,但似乎无法获得其他可尝试的查询键/值参数。我怎样才能获得它们?

我提出一个具体问题 - 我尝试了该搜索查询的修改版本

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

并且它以 json 形式返回网页上的当前帖子,但我不知道如何将查询限制为在指定时间内仅提供 tv-shows,例如: 例如类别 - 电视节目 日期 - 2024-03-01日期 - 2024-03-02

该网站没有任何 api 文档,至少据我所知。 如果可以实现这一点,那么就可以避免抓取 html,因为 json 数据更容易用 python 编码。 感谢您的关注和时间。 奥祖哈

python json web-scraping search
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)
© www.soinside.com 2019 - 2024. All rights reserved.