Advertisement
Guest User

Untitled

a guest
Mar 20th, 2017
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.40 KB | None | 0 0
  1. import re
  2. import sys
  3. import itertools
  4.  
  5. import wykop
  6. import yaml
  7.  
  8. # Dane do wykop API zapisane w pliku secrets.yml
  9. with open('secrets.yml') as fp:
  10.     data = yaml.load(fp)
  11.  
  12. api = wykop.WykopAPI(data['APP_KEY'], data['APP_SECRET'])
  13.  
  14. # Pobranie wszystkich stron które zwracają jakieś wyniki (było ich chyba 46)
  15. for i in itertools.count(1):
  16.  
  17.     pasta = api.tag('pasta', page=i)
  18.     print("#pasta strona", i)
  19.    
  20.     # jeśli nie ma już past, przerywamy
  21.     if not pasta['items']:
  22.         break
  23.    
  24.     # odfiltrowujemy linki i łączymy je w jeden wielki string
  25.     text = "\n\n".join(item['body'] for item in pasta['items'] if item['type'] == 'entry')
  26.    
  27.     # zamieniamy " na "
  28.     text = text.replace('"', '"')
  29.    
  30.     # zamieniamy html-owy znak nowej linii na normalny
  31.     text = text.replace('<br />', '\n')
  32.    
  33.     # usuwamy trochę podwójnych znaków nowej lini, by wygenerowana pasta ich za dużo nie miała
  34.     text = text.replace('\n\n', '\n')
  35.    
  36.     # usuwamy tagi <a href z tagów
  37.     text = re.sub(r'#<a href="#\w+">(?P<tag>\w+)</a>', lambda match: "#{}".format(match.groups()[0]), text)
  38.    
  39.     # usuwamy inne htmlowe tagi
  40.     text = re.sub(r'<\w+/?>', '', text)
  41.     text = re.sub(r'<\w+/? class="\w+">', '', text)
  42.    
  43.     # wynik strony zapisujemy do pliku
  44.     with open(sys.argv[1], 'a') as fp:
  45.         fp.write(text)
  46.  
  47. print("zapisane do pliku:", sys.argv[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement