我正在尝试使用 url 和 search_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 编码。 感谢您的关注和时间。 奥祖哈
好吧,我观察到了你的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)