getmd.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import requests, html2text, re
  2. # 请求头,模拟浏览器UA
  3. headers = {'User-Agent': ' '.join(['Mozilla/5.0 (Windows NT 10.0; Win64; x64; ServiceUI 14)',
  4. 'AppleWebKit/537.36 (KHTML, like Gecko)', 'Chrome/70.0.3538.102', 'Safari/537.36','Edge/18.18363']) }
  5. def url_to_markdown(url):
  6. # 发送请求
  7. r = requests.get(url=url, headers=headers)
  8. # html 转换 markdown
  9. html = r.text
  10. text = html2text.html2text(html)
  11. return text
  12. def pull_urls(urls_list):
  13. texts =''
  14. for url in urls_list:
  15. texts += url_to_markdown(url)
  16. return texts
  17. # 正则搜索得到网址URL
  18. def get_url(line):
  19. reg_https = r'(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]'
  20. url = re.search(reg_https, line)
  21. return url
  22. # 检查获得多行URL
  23. def check_urls(urls):
  24. ret = []
  25. lines = urls.split('\n')
  26. for line in lines:
  27. url = get_url(line)
  28. if url is not None:
  29. ret.append(url[0])
  30. ret = list(set(ret))
  31. return ret
  32. def urls_lines(urls_list):
  33. str = '\n'.join(urls_list)
  34. return str
  35. import base64 , hashlib, time
  36. # 构建 PASSKEY
  37. def make_passkey(str=''):
  38. s = time.strftime("%Y%m%d-%H", time.localtime()) + str
  39. b = s.encode("utf-8")
  40. m = hashlib.sha256()
  41. m.update(b)
  42. passkey = base64.b64encode(m.digest()).decode("utf-8")[8:16]
  43. return passkey