Skip to content

Commit 2d19cb4

Browse files
committed
fixed rendering issue
1 parent d57194d commit 2d19cb4

File tree

4 files changed

+23
-22
lines changed

4 files changed

+23
-22
lines changed

GoogleNews/__init__.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import datetime
99
from dateutil.relativedelta import relativedelta
10-
10+
import logging
1111
### METHODS
1212

1313
def lexical_date_parser(date_to_check):
@@ -82,7 +82,7 @@ def __init__(self,lang="en",period="",start="",end="",encode="utf-8",region=None
8282
self.__end = end
8383
self.__encode = encode
8484
self.__exception = False
85-
self.__version = '1.6.8'
85+
self.__version = '1.6.9'
8686

8787
def getVersion(self):
8888
return self.__version
@@ -141,7 +141,8 @@ def build_response(self):
141141
self.__totalcount = int(stats.group().replace(',', ''))
142142
else:
143143
#TODO might want to add output for user to know no data was found
144-
return
144+
self.__totalcount = None
145+
logging.debug('Total count is not available when sort by date')
145146
result = self.content.find_all("a",{"jsname" : re.compile(r".*")})[3:-1]
146147
return result
147148

@@ -165,29 +166,29 @@ def page_at(self, page=1):
165166
result = self.build_response()
166167
for item in result:
167168
try:
168-
tmp_text = item.find("div", {"role" : "heading"}).text.replace("\n","")
169+
tmp_text = item.find("h3").text.replace("\n","")
169170
except Exception:
170171
tmp_text = ''
171172
try:
172173
tmp_link = item.get("href")
173174
except Exception:
174175
tmp_link = ''
175176
try:
176-
tmp_media = item.findAll("g-img")[0].parent.text
177+
tmp_media = item.find('div').find('div').find('div').find_next_sibling('div').text
177178
except Exception:
178179
tmp_media = ''
179180
try:
180-
tmp_date = item.find("div", {"role" : "heading"}).next_sibling.findNext('div').text
181+
tmp_date = item.find('div').find_next_sibling('div').find('span').text
181182
tmp_date,tmp_datetime=lexical_date_parser(tmp_date)
182183
except Exception:
183184
tmp_date = ''
184185
tmp_datetime=None
185186
try:
186-
tmp_desc = item.find("div", {"role" : "heading"}).next_sibling.text
187+
tmp_desc = item.find_next_sibling('div').find('div').find_next_sibling('div').find('div').find('div').find('div').contents[0].replace('\n','')
187188
except Exception:
188189
tmp_desc = ''
189190
try:
190-
tmp_img = item.findAll("g-img")[0].find("img").get("src")
191+
tmp_img = item.find("img").get("src")
191192
except Exception:
192193
tmp_img = ''
193194
self.__texts.append(tmp_text)
@@ -221,29 +222,29 @@ def get_page(self, page=1):
221222
result = self.build_response()
222223
for item in result:
223224
try:
224-
tmp_text = item.find("div", {"role" : "heading"}).text.replace("\n","")
225+
tmp_text = item.find("h3").text.replace("\n","")
225226
except Exception:
226227
tmp_text = ''
227228
try:
228229
tmp_link = item.get("href")
229230
except Exception:
230231
tmp_link = ''
231232
try:
232-
tmp_media = item.findAll("g-img")[0].parent.text
233+
tmp_media = item.find('div').find('div').find('div').find_next_sibling('div').text
233234
except Exception:
234235
tmp_media = ''
235236
try:
236-
tmp_date = item.find("div", {"role" : "heading"}).next_sibling.findNext('div').text
237+
tmp_date = item.find('div').find_next_sibling('div').find('span').text
237238
tmp_date,tmp_datetime=lexical_date_parser(tmp_date)
238239
except Exception:
239240
tmp_date = ''
240241
tmp_datetime=None
241242
try:
242-
tmp_desc = item.find("div", {"role" : "heading"}).next_sibling.text.replace('\n','')
243+
tmp_desc = item.find_next_sibling('div').find('div').find_next_sibling('div').find('div').find('div').find('div').contents[0].replace('\n','')
243244
except Exception:
244245
tmp_desc = ''
245246
try:
246-
tmp_img = item.findAll("g-img")[0].find("img").get("src")
247+
tmp_img = item.find("img").get("src")
247248
except Exception:
248249
tmp_img = ''
249250
self.__texts.append(tmp_text)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ googlenews.get_page(2)
7878
```
7979
result = googlenews.page_at(2)
8080
```
81-
- If you want to get the total result number of the search(this is approximate number, not exact number, it is the number showing on the google search page)
81+
- If you want to get the total result number of the search(this is approximate number, not exact number, it is the number showing on the google search page) (Note: this function is not available for `googlenews.search()`)
8282
```
8383
googlenews.total_count()
8484
```

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
setuptools.setup(
77
name="GoogleNews",
8-
version="1.6.8",
8+
version="1.6.9",
99
author="Hurin Hu",
1010
author_email="hurin@live.ca",
1111
description="Google News search for Python",

test/test_search.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ def testEncode(self):
3232
self.assertNotEqual(length, 0)
3333
print('Encoding result is not empty')
3434

35-
def testTotalCountGreaterThanZero(self):
36-
googlenews = GoogleNews()
37-
googlenews.search(keyword)
38-
count = googlenews.total_count()
39-
self.assertGreater(count, 0)
40-
print('Total count is greater than zero')
35+
# def testTotalCountGreaterThanZero(self):
36+
# googlenews = GoogleNews()
37+
# googlenews.search(keyword)
38+
# count = googlenews.total_count()
39+
# self.assertGreater(count, 0)
40+
# print('Total count is greater than zero')
4141

4242
def testResultNumberAtTwoPages(self):
4343
googlenews = GoogleNews()
@@ -51,7 +51,7 @@ class TestStringMethods(unittest.TestCase):
5151

5252
def testVersion(self):
5353
googlenews = GoogleNews()
54-
version = '1.6.8'
54+
version = '1.6.9'
5555
self.assertIn(version, googlenews.getVersion())
5656
print('Latest version matched')
5757

0 commit comments

Comments
 (0)