mirror of
https://github.com/d0zingcat/RSSHub-python.git
synced 2026-05-15 15:09:25 +00:00
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
import requests
|
|
import json
|
|
from urllib.parse import unquote, quote
|
|
from rsshub.utils import DEFAULT_HEADERS
|
|
from rsshub.utils import fetch
|
|
|
|
domain = 'https://s.geekbang.org'
|
|
|
|
|
|
def parse(post):
|
|
item = {}
|
|
item['title'] = post['title']
|
|
item['description'] = post['simple_content']
|
|
item['link'] = post['content_url']
|
|
item['author'] = post['author']
|
|
item['pubDate'] = post['release_time']
|
|
return item
|
|
|
|
|
|
def ctx(category=''):
|
|
# category = unquote(category, encoding='utf-8')
|
|
category1 = category.encode("utf-8").decode("latin-1")
|
|
referer = f'{domain}/search/c=0/k={category1}/t=0'
|
|
DEFAULT_HEADERS.update({'Referer': referer})
|
|
url = f'{domain}/api/gksearch/search'
|
|
payload = {"q":category,"t":0,"s":20,"p":1}
|
|
posts = requests.post(url, json=payload, headers=DEFAULT_HEADERS)
|
|
posts = json.loads(posts.text)['data']['list']
|
|
return {
|
|
'title': f'{category} - 搜索 - InfoQ',
|
|
'link': referer,
|
|
'description': f'{category} - 极客邦搜索 - InfoQ',
|
|
'author': 'hillerliao',
|
|
'items': list(map(parse, posts))
|
|
} |