In [19]:
import requests
from lxml import etree
try:
    from urlparse import urljoin
except:
    from urllib.parse import urljoin

In [18]:
KOZBESZ_URL = 'http://ceumicrodata.github.io/regi.kozbeszerzes.hu/static/KEarchiv/index.html'

In [12]:
response = requests.get(KOZBESZ_URL)
# en ezt python2-ben irom, te tegyel zarojelet!
print response.text


<html><head><title>El�z� sz�mok</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"></head><body  text=black link=black alink=blue vlink=black><h2><b><center>K�ZBESZERZ�SI �RTES�T�,</b><br>A K�ZBESZERZ�SEK TAN�CS�NAK HIVATALOS LAPJA</h2><IMG SRC="cimer1.gif" ALT="Cimer"><FONT size=3><br>
<br><a href="04087/index.html">X. �vfolyam 87. sz�m - 2004. j�lius 30.</a>
<br><a href="04086/index.html">X. �vfolyam 86. sz�m - 2004. j�lius 28.</a>
<br><a href="04085/index.html">X. �vfolyam 85. sz�m - 2004. j�lius 26.</a>
<br><a href="04084/index.html">X. �vfolyam 84. sz�m - 2004. j�lius 23.</a>
<br><a href="04083/index.html">X. �vfolyam 83. sz�m - 2004. j�lius 21.</a>
<br><a href="04082/index.html">X. �vfolyam 82. sz�m - 2004. j�lius 19.</a>
<br><a href="04081/index.html">X. �vfolyam 81. sz�m - 2004. j�lius 16.</a>
<br><a href="04080/index.html">X. �vfolyam 80. sz�m - 2004. j�lius 14.</a>
<br><a href="04079/index.html">X. �vfolyam 79. sz�m - 2004. j�lius 12.</a>
<br><a href="04078/index.html">X. �vfolyam 78. sz�m - 2004. j�lius 09.</a>
<br><a href="04077/index.html">X. �vfolyam 77. sz�m - 2004. j�lius 07.</a>
<br><a href="04076/index.html">X. �vfolyam 76. sz�m - 2004. j�lius 05.</a>
<br><a href="04075/index.html">X. �vfolyam 75. sz�m - 2004. j�lius 02.</a>
<br><a href="04074/index.html">X. �vfolyam 74. sz�m - 2004. j�nius 30.</a>
<br><a href="04073/index.html">X. �vfolyam 73. sz�m - 2004. j�nius 28.</a>
<br><a href="04072/index.html">X. �vfolyam 72. sz�m - 2004. j�nius 25.</a>
<br><a href="04071/index.html">X. �vfolyam 71. sz�m - 2004. j�nius 23.</a>
<br><a href="04070/index.html">X. �vfolyam 70. sz�m - 2004. j�nius 21.</a>
<br><a href="04069/index.html">X. �vfolyam 69. sz�m - 2004. j�nius 18.</a>
<br><a href="04068/index.html">X. �vfolyam 68. sz�m - 2004. j�nius 16.</a>
<br><a href="04067/index.html">X. �vfolyam 67. sz�m - 2004. j�nius 14.</a>
<br><a href="04066/index.html">X. �vfolyam 66. sz�m - 2004. j�nius 11.</a>
<br><a href="04065/index.html">X. �vfolyam 65. sz�m - 2004. j�nius 09.</a>
<br><a href="04064/index.html">X. �vfolyam 64. sz�m - 2004. j�nius 07.</a>
<br><a href="04063/index.html">X. �vfolyam 63. sz�m - 2004. j�nius 04.</a>
<br><a href="04062/index.html">X. �vfolyam 62. sz�m - 2004. j�nius 02.</a>
<br><a href="04061/index.html">X. �vfolyam 61. sz�m - 2004. m�jus 28.</a>
<br><a href="04060/index.html">X. �vfolyam 60. sz�m - 2004. m�jus 26.</a>
<br><a href="04059/index.html">X. �vfolyam 59. sz�m - 2004. m�jus 24.</a>
<br><a href="04058/index.html">X. �vfolyam 58. sz�m - 2004. m�jus 21.</a>
<br><a href="04057/index.html">X. �vfolyam 57. sz�m - 2004. m�jus 19.</a>
<br><a href="04056/index.html">X. �vfolyam 56. sz�m - 2004. m�jus 17.</a>
<br><a href="04055/index.html">X. �vfolyam 55. sz�m - 2004. m�jus 14.</a>
<br><a href="04054/index.html">X. �vfolyam 54. sz�m - 2004. m�jus 12.</a>
<br><a href="04053/index.html">X. �vfolyam 53. sz�m - 2004. m�jus 10.</a>
<br><a href="04052/index.html">X. �vfolyam 52. sz�m - 2004. m�jus 07.</a>
<br><a href="04051/index.html">X. �vfolyam 51. sz�m - 2004. m�jus 05.</a>
<br><a href="04050/index.html">X. �vfolyam 50. sz�m - 2004. m�jus 03.</a>
<br><a href="04049/index.html">X. �vfolyam 49. sz�m - 2004. �prilis 30.</a>
<br><a href="04048/index.html">X. �vfolyam 48. sz�m - 2004. �prilis 29.</a>
<br><a href="04047/index.html">X. �vfolyam 47. sz�m - 2004. �prilis 28.</a>
<br><a href="04046/index.html">X. �vfolyam 46. sz�m - 2004. �prilis 26.</a>
<br><a href="04045/index.html">X. �vfolyam 45. sz�m - 2004. �prilis 23.</a>
<br><a href="04044/index.html">X. �vfolyam 44. sz�m - 2004. �prilis 21.</a>
<br><a href="04043/index.html">X. �vfolyam 43. sz�m - 2004. �prilis 19.</a>
<br><a href="04042/index.html">X. �vfolyam 42. sz�m - 2004. �prilis 16.</a>
<br><a href="04041/index.html">X. �vfolyam 41. sz�m - 2004. �prilis 14.</a>
<br><a href="04040/index.html">X. �vfolyam 40. sz�m - 2004. �prilis 09.</a>
<br><a href="04039/index.html">X. �vfolyam 39. sz�m - 2004. �prilis 07.</a>
<br><a href="04038/index.html">X. �vfolyam 38. sz�m - 2004. �prilis 05.</a>
<br><a href="04037/index.html">X. �vfolyam 37. sz�m - 2004. �prilis 02.</a>
<br><a href="04036/index.html">X. �vfolyam 36. sz�m - 2004. m�rcius 31.</a>
<br><a href="04035/index.html">X. �vfolyam 35. sz�m - 2004. m�rcius 29.</a>
<br><a href="04034/index.html">X. �vfolyam 34. sz�m - 2004. m�rcius 26.</a>
<br><a href="04033/index.html">X. �vfolyam 33. sz�m - 2004. m�rcius 24.</a>
<br><a href="04032/index.html">X. �vfolyam 32. sz�m - 2004. m�rcius 22.</a>
<br><a href="04031/index.html">X. �vfolyam 31. sz�m - 2004. m�rcius 19.</a>
<br><a href="04030/index.html">X. �vfolyam 30. sz�m - 2004. m�rcius 17.</a>
<br><a href="04029/index.html">X. �vfolyam 29. sz�m - 2004. m�rcius 12.</a>
<br><a href="04028/index.html">X. �vfolyam 28. sz�m - 2004. m�rcius 10.</a>
<br><a href="04027/index.html">X. �vfolyam 27. sz�m - 2004. m�rcius 08.</a>
<br><a href="04026/index.html">X. �vfolyam 26. sz�m - 2004. m�rcius 05.</a>
<br><a href="04025/index.html">X. �vfolyam 25. sz�m - 2004. m�rcius 03.</a>
<br><a href="04024/index.html">X. �vfolyam 24. sz�m - 2004. m�rcius 01.</a>
<br><a href="04023/index.html">X. �vfolyam 23. sz�m - 2004. febru�r 27.</a>
<br><a href="04022/index.html">X. �vfolyam 22. sz�m - 2004. febru�r 25.</a>
<br><a href="04021/index.html">X. �vfolyam 21. sz�m - 2004. febru�r 23.</a>
<br><a href="04020/index.html">X. �vfolyam 20. sz�m - 2004. febru�r 20.</a>
<br><a href="04019/index.html">X. �vfolyam 19. sz�m - 2004. febru�r 18.</a>
<br><a href="04018/index.html">X. �vfolyam 18. sz�m - 2004. febru�r 16.</a>
<br><a href="04017/index.html">X. �vfolyam 17. sz�m - 2004. febru�r 13.</a>
<br><a href="04016/index.html">X. �vfolyam 16. sz�m - 2004. febru�r 11.</a>
<br><a href="04015/index.html">X. �vfolyam 15. sz�m - 2004. febru�r 09.</a>
<br><a href="04014/index.html">X. �vfolyam 14. sz�m - 2004. febru�r 06.</a>
<br><a href="04013/index.html">X. �vfolyam 13. sz�m - 2004. febru�r 04.</a>
<br><a href="04012/index.html">X. �vfolyam 12. sz�m - 2004. febru�r 02.</a>
<br><a href="04011/index.html">X. �vfolyam 11. sz�m - 2004. janu�r 30.</a>
<br><a href="04010/index.html">X. �vfolyam 10. sz�m - 2004. janu�r 28.</a>
<br><a href="04009/index.html">X. �vfolyam 9. sz�m - 2004. janu�r 26.</a>
<br><a href="04008/index.html">X. �vfolyam 8. sz�m - 2004. janu�r 23.</a>
<br><a href="04007/index.html">X. �vfolyam 7. sz�m - 2004. janu�r 21.</a>
<br><a href="04006/index.html">X. �vfolyam 6. sz�m - 2004. janu�r 19.</a>
<br><a href="04005/index.html">X. �vfolyam 5. sz�m - 2004. janu�r 16.</a>
<br><a href="04004/index.html">X. �vfolyam 4. sz�m - 2004. janu�r 14.</a>
<br><a href="04003/index.html">X. �vfolyam 3. sz�m - 2004. janu�r 9.</a>
<br><a href="04002/index.html">X. �vfolyam 2. sz�m - 2004. janu�r 7.</a>
<br><a href="04001/index.html">X. �vfolyam 1. sz�m - 2004. janu�r 5.</a><br><br><br><a href="arhiv2003.html">Arch�vum-2003 (IX. �vfolyam, 1.-52.)</a><br><a href="arhiv2002.html">Arch�vum-2002 (VIII. �vfolyam, 1.-51.)</a><br><a href="arhiv2001.html">Arch�vum-2001 (VII. �vfolyam, 1.-51.)</a><br><a href="arhiv2000.html">Arch�vum-2000 (VI. �vfolyam, 1.-51.)</a><br><a href="arhiv1999.html">Arch�vum-1999 (V. �vfolyam, 1.-51.)</a><br><a href="arhiv1998.html">Arch�vum-1998 (IV. �vfolyam, 1.-51.)</a><br><a href="arhiv1997.html">Arch�vum-1997 (III. �vfolyam, 49.-50.)</a></center></FONT><br><br><hr><CENTER><A HREF="http://www.kozbeszerzes.hu/">A K�zbeszerz�sek Tan�cs�nak honlapja </A></CENTER><HR></body></html>
{'X-Fastly-Request-ID': 'f0c666991e9e005ec3ff88dc5681fbaf8298950f', 'Content-Length': '1334', 'Via': '1.1 varnish', 'Age': '0', 'X-Cache': 'MISS', 'Content-Encoding': 'gzip', 'X-GitHub-Request-Id': '17EB2B2D:2086:422BF03:5706525C', 'Accept-Ranges': 'bytes', 'X-Timer': 'S1460036551.148144,VS0,VE83', 'Vary': 'Accept-Encoding', 'Server': 'GitHub.com', 'Last-Modified': 'Sat, 16 Mar 2013 17:09:32 GMT', 'Connection': 'keep-alive', 'X-Served-By': 'cache-ams4120-AMS', 'X-Cache-Hits': '0', 'Cache-Control': 'max-age=600', 'Date': 'Thu, 07 Apr 2016 13:42:31 GMT', 'Access-Control-Allow-Origin': '*', 'Content-Type': 'text/html; charset=utf-8', 'Expires': 'Thu, 07 Apr 2016 12:38:14 GMT'}

In [10]:
# helper function
def all_links(html_page):
    '''
    This is some useful HTML magic. For more see http://lxml.de/tutorial.html
    '''
    parsed = etree.HTML(html_page)
    return [html_element.attrib['href'] for html_element in parsed.xpath("//a")]

# testing
print all_links(response.text)


['04087/index.html', '04086/index.html', '04085/index.html', '04084/index.html', '04083/index.html', '04082/index.html', '04081/index.html', '04080/index.html', '04079/index.html', '04078/index.html', '04077/index.html', '04076/index.html', '04075/index.html', '04074/index.html', '04073/index.html', '04072/index.html', '04071/index.html', '04070/index.html', '04069/index.html', '04068/index.html', '04067/index.html', '04066/index.html', '04065/index.html', '04064/index.html', '04063/index.html', '04062/index.html', '04061/index.html', '04060/index.html', '04059/index.html', '04058/index.html', '04057/index.html', '04056/index.html', '04055/index.html', '04054/index.html', '04053/index.html', '04052/index.html', '04051/index.html', '04050/index.html', '04049/index.html', '04048/index.html', '04047/index.html', '04046/index.html', '04045/index.html', '04044/index.html', '04043/index.html', '04042/index.html', '04041/index.html', '04040/index.html', '04039/index.html', '04038/index.html', '04037/index.html', '04036/index.html', '04035/index.html', '04034/index.html', '04033/index.html', '04032/index.html', '04031/index.html', '04030/index.html', '04029/index.html', '04028/index.html', '04027/index.html', '04026/index.html', '04025/index.html', '04024/index.html', '04023/index.html', '04022/index.html', '04021/index.html', '04020/index.html', '04019/index.html', '04018/index.html', '04017/index.html', '04016/index.html', '04015/index.html', '04014/index.html', '04013/index.html', '04012/index.html', '04011/index.html', '04010/index.html', '04009/index.html', '04008/index.html', '04007/index.html', '04006/index.html', '04005/index.html', '04004/index.html', '04003/index.html', '04002/index.html', '04001/index.html', 'arhiv2003.html', 'arhiv2002.html', 'arhiv2001.html', 'arhiv2000.html', 'arhiv1999.html', 'arhiv1998.html', 'arhiv1997.html', 'http://www.kozbeszerzes.hu/']

In [11]:
def archive_urls(root_url):
    '''
    Return a list of archive URLS, pointing to, for example 'archiv1997.html'
    that can be reached from the webpage at root_url.
    '''

In [22]:
# helper function
def generate_url(root_url, relative_url):
    '''
    Given, for example, 'http://ceumicrodata.github.io/regi.kozbeszerzes.hu/static/KEarchiv/index.html'
    and 'archiv1997.html', return
    ''http://ceumicrodata.github.io/regi.kozbeszerzes.hu/static/KEarchiv/archiv1997.html'
    '''
    return urljoin(root_url, relative_url)
print generate_url(KOZBESZ_URL, 'archiv1998.html')
print generate_url(KOZBESZ_URL, '../index.html')


http://ceumicrodata.github.io/regi.kozbeszerzes.hu/static/KEarchiv/archiv1998.html
http://ceumicrodata.github.io/regi.kozbeszerzes.hu/static/index.html

In [ ]:
def minden_hirdetmeny(root_url):
    '''
    Given a root url, return a list of all 'hirdetmeny' HTML texts.
    See https://gist.github.com/korenmiklos/0f6526812ac8ef23fb18ab1ef1ffd70a for a related example.
    
    Hint: first walk through years, then through issues, then get 'hirdetmeny'.
    '''