Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/icoz/habraparse.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoricoz <icoz.vt@gmail.com>2017-07-09 14:21:51 +0300
committericoz <icoz.vt@gmail.com>2017-07-09 14:21:51 +0300
commitdcc9d0802613c0c08a137977fed43f457dac1a26 (patch)
tree9c0c7f4a5ab94b8ca2eedc14fb9c55b03be54318
parent0de6bc02db68e68de416199abb2567e90168352b (diff)
user.py:
- при анализе страницы пользователя добавлены проверки на бан или удаление аккаунта habraparse.py: - при получении списка избранных статей добавлена проверка на наличие записей
-rw-r--r--habr/user.py8
-rwxr-xr-xhabraparse.py19
2 files changed, 19 insertions, 8 deletions
diff --git a/habr/user.py b/habr/user.py
index 611927a..323026e 100644
--- a/habr/user.py
+++ b/habr/user.py
@@ -112,6 +112,10 @@ class TMUser(object):
def _parseUserpage(self):
# print(self._doc)
+ # check for BAN
+ if self._doc.xpath("//div[@class='main']/h1")[0].text.strip() == "Доступ закрыт":
+ # maybe raise ERROR???
+ return
p_tags = self._doc.xpath("//div[@class='user_profile']//ul[@id='people-tags']//a/span")
date_of_registration = self._doc.xpath("//div[@class='user_profile']//dd[@class='grey']")[0].text.strip()
tmp = self._doc.xpath("//div[@class='user_profile']//dl[last()]/dd")
@@ -184,6 +188,10 @@ class TMUser(object):
"""
url = self._genFavoritesUrlByUser(self._username)
doc = html.document_fromstring(requests.get(url).text)
+ # check for BAN
+ if doc.xpath("//div[@class='main']/h1")[0].text.strip() == "Доступ закрыт":
+ # maybe raise ERROR???
+ return
out = dict()
pages = get_pages(doc)
favs = doc.xpath("//div[@class='user_favorites']//a[@class='post__title_link']")
diff --git a/habraparse.py b/habraparse.py
index c455089..c9f4f7e 100755
--- a/habraparse.py
+++ b/habraparse.py
@@ -215,14 +215,17 @@ def create_url_list(username, filename, project='h'):
T = GeektimesTopic if project == 'g' else HabraTopic
urls = list()
favs_id = hu.favorites()
- for topic_name in favs_id:
- try:
- urls.append(T(favs_id[topic_name]).getTopicUrl())
- except PostDeleted:
- print('Post {} is deleted!'.format(favs_id[topic_name]))
- urls.sort()
- with open(filename, 'wt') as f:
- f.write('\n'.join(urls))
+ if favs_id:
+ for topic_name in favs_id:
+ try:
+ urls.append(T(favs_id[topic_name]).getTopicUrl())
+ except PostDeleted:
+ print('Post {} is deleted!'.format(favs_id[topic_name]))
+ urls.sort()
+ with open(filename, 'wt') as f:
+ f.write('\n'.join(urls))
+ else:
+ print("Something went wrong. Maybe user is banned or deleted.")
import docopt