init project

This commit is contained in:
alphardex
2019-01-16 22:45:05 +08:00
commit d9f4136fa4
32 changed files with 1044 additions and 0 deletions

25
rsshub/utils.py Normal file
View File

@@ -0,0 +1,25 @@
from flask import Response
import requests
from parsel import Selector
DEFAULT_HEADERS = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
class XMLResponse(Response):
def __init__(self, response, **kwargs):
if 'mimetype' not in kwargs and 'contenttype' not in kwargs:
if response.startswith('<?xml'):
kwargs['mimetype'] = 'application/xml'
return super().__init__(response, **kwargs)
def fetch(url: str, headers: dict=DEFAULT_HEADERS, proxies: dict=None):
try:
res = requests.get(url, headers=headers, proxies=proxies)
res.raise_for_status()
except Exception as e:
print(f'[Err] {e}')
else:
html = res.text
tree = Selector(text=html)
return tree