Skip to content

Commit 4edf042

Browse files
author
pgaref
committed
Fixing failing test after merge - Still need to parse the pagination table in Samair Parser
1 parent 877796f commit 4edf042

3 files changed

Lines changed: 18 additions & 15 deletions

File tree

http_request_randomizer/requests/parsers/SamairProxyParser.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def __init__(self, id, web_url, timeout=None):
1919
def parse_proxyList(self):
2020
curr_proxy_list = []
2121
# Parse all proxy pages -> format: /list/{num}.htm
22-
# TODO: get the pageRange from the 'pagination' table
22+
# TODO @pgaref: get the pageRange from the 'pagination' table
2323
for page in range(1, 21):
2424
response = requests.get("{0}{num:02d}.htm".format(self.get_URl(), num=page), timeout=self.timeout)
2525
if not response.ok:
@@ -52,24 +52,24 @@ def parse_proxyList(self):
5252
# curr_proxy_list.append('http://' + row.text + ports[row['class'][0]])
5353
# Make sure it is a Valid Proxy Address
5454
if UrlParser.valid_ip_port(td_row.text):
55-
proxy_obj = self.createProxyObject(td_row)
55+
proxy_obj = self.createProxyObject(row)
5656
proxy_obj.print_everything()
5757
curr_proxy_list.append(proxy_obj)
5858
else:
5959
logger.debug("Address with Invalid format: {}".format(td_row.text))
6060
return curr_proxy_list
6161

62-
def createProxyObject(self, td_row):
63-
ip = td_row.text.split(":")[0]
64-
port = td_row.text.split(":")[1]
65-
next_td_row = td_row.findNext("td")
66-
anonymity = AnonymityLevel(next_td_row.text)
67-
next_td_row = next_td_row.findNext("td")
68-
next_td_row = next_td_row.findNext("td")
69-
country = next_td_row.text
62+
def createProxyObject(self, row):
63+
for td_row in row.findAll("td"):
64+
if td_row.attrs['data-label'] == 'IP:port ':
65+
ip = td_row.text.split(":")[0]
66+
port = td_row.text.split(":")[1]
67+
elif td_row.attrs['data-label'] == 'Anonymity Type: ':
68+
anonymity = AnonymityLevel(td_row.text)
69+
elif td_row.attrs['data-label'] == 'Country: ':
70+
country = td_row.text
7071
return ProxyObject(source=self.id, ip=ip, port=port, anonymity_level=anonymity, country=country)
7172

72-
7373
def __str__(self):
7474
return "SemairProxy Parser of '{0}' with required bandwidth: '{1}' KBs" \
7575
.format(self.url, self.minimum_bandwidth_in_KBs)

tests/mocks.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ def samair_mock(url, request):
144144
\n
145145
<tr class="anon">
146146
<td data-label="IP:port ">191.252.61.28:80</td>
147-
<td data-label="Anonymity Type: "high-anonymous</td>
147+
<td data-label="Anonymity Type: ">high-anonymous</td>
148148
<td data-label="Checked: ">Apr-18, 17:18</td>
149149
<td data-label="Country: ">Brazil</td>
150150
<td data-label="City: ">S\xe3o Jos\xe9 Dos Campos</td>
@@ -154,7 +154,7 @@ def samair_mock(url, request):
154154
\n
155155
<tr class="anon">
156156
<td data-label="IP:port ">167.114.203.141:8080</td>
157-
<td data-label="Anonymity Type: "transparent</td>
157+
<td data-label="Anonymity Type: ">transparent</td>
158158
<td data-label="Checked: ">Apr-18, 13:22</td>
159159
<td data-label="Country: ">Canada</td>
160160
<td data-label="City: ">Montr\xe9al (QC)</td>
@@ -163,7 +163,7 @@ def samair_mock(url, request):
163163
\n
164164
<tr class="anon">
165165
<td data-label="IP:port ">152.251.141.93:8080</td>
166-
<td data-label="Anonymity Type: ">elite </td>
166+
<td data-label="Anonymity Type: ">elite</td>
167167
<td data-label="Checked: ">Jul-16, 04:39</td>
168168
<td data-label="Country: ">Brazil</td>
169169
<td data-label="City: ">&nbsp;</td>

tests/test_providers.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,11 @@ def test_SemairProxyParser(self):
5050
with HTTMock(samair_mock):
5151
proxy_provider = SamairProxyParser('Samair', 'https://www.premproxy.com')
5252
proxy_list = proxy_provider.parse_proxyList()
53+
proxy_list_addr = []
54+
for proxy in proxy_list:
55+
proxy_list_addr.append(proxy.getAddress())
5356
for item in samair_expected:
54-
self.assertTrue(item in proxy_list)
57+
self.assertTrue(item in proxy_list_addr)
5558

5659

5760
if __name__ == '__main__':

0 commit comments

Comments
 (0)