{ "info": { "author": "Ivan Begtin", "author_email": "ivan@begtin.tech", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "About Lazyscraper\n=================\n\nLazyscraper is a simple command line tool and library, a swiss knife for scraper writers. It's created to work only from command line and to make easier\nscraper writing for very simple tasks like extraction of external urls or simple table.\n\n\nSupported patterns\n==================\n* simpleul - Extracts list of urls with pattern ul/li/a. Returns array of urls with \"_text\" and \"href\" fields\n* simpleopt - Extracts list of options values with pattern select/option. Returns array: \"_text\", \"value\"\n* exturls - Extracts list of urls that leads to external websites. Returns array of urls with \"_text\" and \"href\" fields\n* getforms - Extracts all forms from website. Returns complex JSON data with each form on the page\n\n\nCommand-line tool\n=================\nUsage: lazyscraper.py [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n --help Show this message and exit.\n\nCommands:\n extract Extract data with xpath\n gettable Extracts table with data from html\n use Uses predefined pattern to extract page data\n\nExamples\n========\n\nExtracts list of photos and names of Russian government ministers and outputs it to \"gov_persons.csv\"\n>>> python lscraper.py extract --url http://government.ru/en/gov/persons/ --xpath \"//img[@class='photo']\" --fieldnames src,srcset,alt --absolutize True --output gov_persons.csv --format csv\n\nExtracts list of ministries from Russian government website using pattern \"simpleul\" and from UL tag with class \"departments col col__wide\" and outputs absolutized urls.\n>>> python lscraper.py use --pattern simpleul --nodeclass \"departments col col__wide\" --url http://government.ru/en/ministries --absolutize True\n\n\nExtracts list of territorial organizations urls from Russian tax service website using pattern \"simpleopt\".\n>>> python lscraper.py use --pattern simpleopt --url http://nalog.ru\n\nExtracts all forms from Russian tax service website using pattern \"getforms\". Returns JSON with each form and each button, input and select\n>>> python lscraper.py use --pattern getforms --url http://nalog.ru\n\nExtracts list of websites urls of Russian Federal Treasury and uses awk to extract domains.\n>>> python lscraper.py extract --url http://roskazna.ru --xpath \"//ul[@class='site-list']/li/a\" --fieldnames href | awk -F/ '{print $3}'\n\nHow to use library\n==================\n\nExtracts all urls with fields: src, alt, href and _text from gov.uk website\n >>> from lazyscraper import extract_data_xpath\n >>> extract_data_xpath('http://gov.uk', xpath='//a', fieldnames='src,alt,href,_text', absolutize=True)\n[{'_text': 'Skip to main content', 'src': '', 'alt': '', 'href': 'http://gov.uk#content'}, {'_text': 'Find out more about cookies', 'src': '', 'alt': '', 'href': 'https://www.gov.uk/help/cookies'}, {'_text': 'GOV.UK', 'src': '', 'alt': '', 'href': 'https://www.gov.uk'}, {'_text': 'Universal Jobmatch job search', 'src': '', 'alt': '', 'href': 'http://gov.uk/jobsearch'}, {'_text': 'Renew vehicle tax', 'src': '', 'alt': '', 'href': 'http://gov.uk/vehicle-tax'}, {'_text': 'Log in to student finance', 'src': '', 'alt': '', 'href': 'http://gov.uk/student-finance-register-login'}, {'_text': 'Book your theory test', 'src': '', 'alt': '', 'href': 'http://gov.uk/book-theory-test'}, {'_text': 'Personal tax account', 'src': '', 'alt': '', 'href': 'http://gov.uk/personal-tax-account'}, {'_text': 'Benefits', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/benefits'}, {'_text': 'Births, deaths, marriages and care', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/births-deaths-marriages'}, {'_text': 'Business and self-employed', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/business'}, {'_text': 'Childcare and parenting', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/childcare-parenting'}, {'_text': 'Citizenship and living in the UK', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/citizenship'}, {'_text': 'Crime, justice and the law', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/justice'}, {'_text': 'Disabled people', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/disabilities'}, {'_text': 'Driving and transport', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/driving'}, {'_text': 'Education and learning', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/education'}, {'_text': 'Employing people', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/employing-people'}, {'_text': 'Environment and countryside', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/environment-countryside'}, {'_text': 'Housing and local services', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/housing-local-services'}, {'_text': 'Money and tax', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/tax'}, {'_text': 'Passports, travel and living abroad', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/abroad'}, {'_text': 'Visas and immigration', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/visas-immigration'}, {'_text': 'Working, jobs and pensions', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/working'}, {'_text': '25 Ministerial departments', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/organisations'}, {'_text': '385 Other agencies and public bodies', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/organisations'}, {'_text': 'government departments', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/organisations'}, {'_text': 'policies', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/policies'}, {'_text': 'announcements', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/announcements'}, {'_text': 'publications', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/publications'}, {'_text': 'statistics', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/statistics'}, {'_text': 'consultations', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/publications?publication_filter_option=consultations'}, {'_text': 'how government services are performing', 'src': '', 'alt': '', 'href': 'http://gov.uk/performance'}, {'_text': 'Get MOT reminders', 'src': '', 'alt': '', 'href': 'http://gov.uk/mot-reminder'}, {'_text': 'Grenfell Tower fire', 'src': '', 'alt': '', 'href': 'http://gov.uk/guidance/grenfell-tower-fire-june-2017-support-for-people-affected'}, {'_text': 'The UK and the EU', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/policies/brexit'}, {'_text': 'Universal Jobmatch job search', 'src': '', 'alt': '', 'href': 'http://gov.uk/jobsearch'}, {'_text': 'Log in to student finance', 'src': '', 'alt': '', 'href': 'http://gov.uk/student-finance-register-login'}, {'_text': 'Passport fees', 'src': '', 'alt': '', 'href': 'http://gov.uk/passport-fees'}, {'_text': \"Jobseeker's Allowance\", 'src': '', 'alt': '', 'href': 'http://gov.uk/jobseekers-allowance'}, {'_text': 'Council Tax bands', 'src': '', 'alt': '', 'href': 'http://gov.uk/council-tax-bands'}, {'_text': 'Running a limited company', 'src': '', 'alt': '', 'href': 'http://gov.uk/running-a-limited-company'}, {'_text': 'Driving theory test', 'src': '', 'alt': '', 'href': 'http://gov.uk/book-a-driving-theory-test'}, {'_text': 'Vehicle tax rates', 'src': '', 'alt': '', 'href': 'http://gov.uk/calculate-vehicle-tax-rates'}, {'_text': 'Renew vehicle tax', 'src': '', 'alt': '', 'href': 'http://gov.uk/vehicle-tax'}, {'_text': 'VAT rates', 'src': '', 'alt': '', 'href': 'http://gov.uk/vat-rates'}, {'_text': 'UK bank holidays', 'src': '', 'alt': '', 'href': 'http://gov.uk/bank-holidays'}, {'_text': 'bank holidays', 'src': '', 'alt': '', 'href': 'http://gov.uk/bank-holidays'}, {'_text': 'Benefits', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/benefits'}, {'_text': 'Births, deaths, marriages and care', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/births-deaths-marriages'}, {'_text': 'Business and self-employed', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/business'}, {'_text': 'Childcare and parenting', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/childcare-parenting'}, {'_text': 'Citizenship and living in the UK', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/citizenship'}, {'_text': 'Crime, justice and the law', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/justice'}, {'_text': 'Disabled people', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/disabilities'}, {'_text': 'Driving and transport', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/driving'}, {'_text': 'Education and learning', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/education'}, {'_text': 'Employing people', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/employing-people'}, {'_text': 'Environment and countryside', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/environment-countryside'}, {'_text': 'Housing and local services', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/housing-local-services'}, {'_text': 'Money and tax', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/tax'}, {'_text': 'Passports, travel and living abroad', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/abroad'}, {'_text': 'Visas and immigration', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/visas-immigration'}, {'_text': 'Working, jobs and pensions', 'src': '', 'alt': '', 'href': 'http://gov.uk/browse/working'}, {'_text': 'How government works', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/how-government-works'}, {'_text': 'Departments', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/organisations'}, {'_text': 'Worldwide', 'src': '', 'alt': '', 'href': 'http://gov.uk/world'}, {'_text': 'Policies', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/policies'}, {'_text': 'Publications', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/publications'}, {'_text': 'Announcements', 'src': '', 'alt': '', 'href': 'http://gov.uk/government/announcements'}, {'_text': 'Help', 'src': '', 'alt': '', 'href': 'http://gov.uk/help'}, {'_text': 'Cookies', 'src': '', 'alt': '', 'href': 'http://gov.uk/help/cookies'}, {'_text': 'Contact', 'src': '', 'alt': '', 'href': 'http://gov.uk/contact'}, {'_text': 'Terms and conditions', 'src': '', 'alt': '', 'href': 'http://gov.uk/help/terms-conditions'}, {'_text': 'Rhestr o Wasanaethau Cymraeg', 'src': '', 'alt': '', 'href': 'http://gov.uk/cymraeg'}, {'_text': 'Government Digital Service', 'src': '', 'alt': '', 'href': 'https://www.gov.uk/government/organisations/government-digital-service'}, {'_text': 'Open Government Licence', 'src': '', 'alt': '', 'href': 'https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/'}, {'_text': 'Open Government Licence v3.0', 'src': '', 'alt': '', 'href': 'https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/'}, {'_text': '\u00a9 Crown copyright', 'src': '', 'alt': '', 'href': 'https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/copyright-and-re-use/crown-copyright/'}]\n\n\nRun pattern 'simpleopt' against Russian federal treasury website\n >>> from lazyscraper import use_pattern\n >>> use_pattern('http://roskazna.ru', 'simpleopt')\n[{'_text': 'roskazna.ru', 'value': 'http://www.roskazna.ru'}, {'_text': '\u0410\u043b\u0442\u0430\u0439\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439', 'value': 'http://altay.roskazna.ru'}, {'_text': '\u0410\u043c\u0443\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://amur.roskazna.ru'}, {'_text': '\u0410\u0440\u0445\u0430\u043d\u0433\u0435\u043b\u044c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0438 \u041d\u0435\u043d\u0435\u0446\u043a\u0438\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433', 'value': 'http://arhangelsk.roskazna.ru'}, {'_text': '\u0410\u0441\u0442\u0440\u0430\u0445\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://astrahan.roskazna.ru'}, {'_text': '\u0411\u0435\u043b\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://belgorod.roskazna.ru'}, {'_text': '\u0411\u0440\u044f\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://bryansk.roskazna.ru'}, {'_text': '\u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://vladimir.roskazna.ru'}, {'_text': '\u0412\u043e\u043b\u0433\u043e\u0433\u0440\u0430\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://volgograd.roskazna.ru'}, {'_text': '\u0412\u043e\u043b\u043e\u0433\u043e\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://vologodskaya.roskazna.ru'}, {'_text': '\u0412\u043e\u0440\u043e\u043d\u0435\u0436\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://31vrn.roskazna.ru'}, {'_text': '\u0415\u0432\u0440\u0435\u0439\u0441\u043a\u0430\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://birobidzhan.roskazna.ru'}, {'_text': '\u0417\u0430\u0431\u0430\u0439\u043a\u0430\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439', 'value': 'http://chita.roskazna.ru'}, {'_text': '\u0418\u0432\u0430\u043d\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://ivanovskaya.roskazna.ru'}, {'_text': '\u0418\u0440\u043a\u0443\u0442\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://irkutsk.roskazna.ru'}, {'_text': '\u041a\u0430\u0431\u0430\u0440\u0434\u0438\u043d\u043e-\u0411\u0430\u043b\u043a\u0430\u0440\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430', 'value': 'http://kabardino-balkaria.roskazna.ru'}, {'_text': '\u0421\u0435\u0432\u0430\u0441\u0442\u043e\u043f\u043e\u043b\u044c', 'value': 'http://sevastopol.roskazna.ru'}, {'_text': '\u041a\u0430\u043b\u0438\u043d\u0438\u043d\u0433\u0440\u0430\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://kaliningrad.roskazna.ru'}, {'_text': '\u041a\u0430\u043b\u0443\u0436\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://kaluga.roskazna.ru'}, {'_text': '\u041a\u0430\u043c\u0447\u0430\u0442\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439', 'value': 'http://kamchatka.roskazna.ru'}, {'_text': '\u041a\u0430\u0440\u0430\u0447\u0430\u0435\u0432\u043e-\u0427\u0435\u0440\u043a\u0435\u0441\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430', 'value': 'http://karachaevocherkessia.roskazna.ru'}, {'_text': '\u041a\u0435\u043c\u0435\u0440\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://kemerovskaya.roskazna.ru'}, {'_text': '\u041a\u0438\u0440\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://kirov.roskazna.ru'}, {'_text': '\u041a\u043e\u0441\u0442\u0440\u043e\u043c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://kostroma.roskazna.ru'}, {'_text': '\u041a\u0440\u0430\u0441\u043d\u043e\u0434\u0430\u0440\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439', 'value': 'http://krasnodar.roskazna.ru'}, {'_text': '\u041a\u0440\u0430\u0441\u043d\u043e\u044f\u0440\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439', 'value': 'http://krasnoyarsk.roskazna.ru'}, {'_text': '\u041a\u0443\u0440\u0433\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://kurgan.roskazna.ru'}, {'_text': '\u041a\u0443\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://kursk.roskazna.ru'}, {'_text': '\u041b\u0435\u043d\u0438\u043d\u0433\u0440\u0430\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://leningrad.roskazna.ru'}, {'_text': '\u041b\u0438\u043f\u0435\u0446\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://lipetsk.roskazna.ru'}, {'_text': '\u042f\u043c\u0430\u043b\u043e-\u041d\u0435\u043d\u0435\u0446\u043a\u0438\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433', 'value': 'http://yamalo-nenetskiy.roskazna.ru'}, {'_text': '\u041c\u0430\u0433\u0430\u0434\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://magadan.roskazna.ru'}, {'_text': '\u0420\u044f\u0437\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://ryazan.roskazna.ru'}, {'_text': '\u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433', 'value': 'http://piter.roskazna.ru'}, {'_text': '\u0421\u0430\u043c\u0430\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://samara.roskazna.ru'}, {'_text': '\u041c\u043e\u0441\u043a\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://mo.roskazna.ru'}, {'_text': '\u041c\u0443\u0440\u043c\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://murmansk.roskazna.ru'}, {'_text': '\u041d\u0438\u0436\u0435\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://nizhegorodskaya.roskazna.ru'}, {'_text': '\u041d\u043e\u0432\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://novgorod.roskazna.ru'}, {'_text': '\u041d\u043e\u0432\u043e\u0441\u0438\u0431\u0438\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://novosibirsk.roskazna.ru'}, {'_text': '\u041e\u043c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://omsk.roskazna.ru'}, {'_text': '\u041e\u0440\u0435\u043d\u0431\u0443\u0440\u0433\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://orenburg.roskazna.ru'}, {'_text': '\u041e\u0440\u043b\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://orel.roskazna.ru'}, {'_text': '\u041f\u0435\u043d\u0437\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://penza.roskazna.ru'}, {'_text': '\u041f\u0435\u0440\u043c\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439', 'value': 'http://perm.roskazna.ru'}, {'_text': '\u041f\u0440\u0438\u043c\u043e\u0440\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439', 'value': 'http://vladivostok.roskazna.ru'}, {'_text': '\u041f\u0441\u043a\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://pskov.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0410\u0434\u044b\u0433\u0435\u044f', 'value': 'http://adygeya.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0410\u043b\u0442\u0430\u0439', 'value': 'http://r-altay.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0411\u0430\u0448\u043a\u043e\u0440\u0442\u043e\u0441\u0442\u0430\u043d', 'value': 'http://ufa.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0411\u0443\u0440\u044f\u0442\u0438\u044f', 'value': 'http://buryatia.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0414\u0430\u0433\u0435\u0441\u0442\u0430\u043d', 'value': 'http://dagestan.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0418\u043d\u0433\u0443\u0448\u0435\u0442\u0438\u044f', 'value': 'http://ingushetia.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u0430\u043b\u043c\u044b\u043a\u0438\u044f', 'value': 'http://kalmykia.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u0430\u0440\u0435\u043b\u0438\u044f', 'value': 'http://karelia.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u043e\u043c\u0438', 'value': 'http://komi.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041a\u0440\u044b\u043c', 'value': 'http://krym.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041c\u0430\u0440\u0438\u0439 \u042d\u043b', 'value': 'http://mariy-el.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u041c\u043e\u0440\u0434\u043e\u0432\u0438\u044f', 'value': 'http://mordovia.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0421\u0430\u0445\u0430 (\u042f\u043a\u0443\u0442\u0438\u044f)', 'value': 'http://sakha.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0421\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u041e\u0441\u0435\u0442\u0438\u044f-\u0410\u043b\u0430\u043d\u0438\u044f', 'value': 'http://alania.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0422\u0430\u0442\u0430\u0440\u0441\u0442\u0430\u043d', 'value': 'http://tatarstan.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0422\u044b\u0432\u0430', 'value': 'http://tyva.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0423\u0434\u043c\u0443\u0440\u0442\u0438\u044f', 'value': 'http://udmurtia.roskazna.ru'}, {'_text': '\u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430 \u0425\u0430\u043a\u0430\u0441\u0438\u044f', 'value': 'http://hakasia.roskazna.ru'}, {'_text': '\u0420\u043e\u0441\u0442\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://rostov.roskazna.ru'}, {'_text': '\u0421\u0430\u0440\u0430\u0442\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://saratov.roskazna.ru'}, {'_text': '\u0421\u0430\u0445\u0430\u043b\u0438\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://sahalin.roskazna.ru'}, {'_text': '\u0421\u0432\u0435\u0440\u0434\u043b\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://sverdlovsk.roskazna.ru'}, {'_text': '\u0421\u043c\u043e\u043b\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://smolensk.roskazna.ru'}, {'_text': '\u0422\u0430\u043c\u0431\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://tambov.roskazna.ru'}, {'_text': '\u0422\u0432\u0435\u0440\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://tver.roskazna.ru'}, {'_text': '\u0422\u043e\u043c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://tomsk.roskazna.ru'}, {'_text': '\u0422\u0443\u043b\u044c\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://tula.roskazna.ru'}, {'_text': '\u0422\u044e\u043c\u0435\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://tumen.roskazna.ru'}, {'_text': '\u0423\u043b\u044c\u044f\u043d\u043e\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://ulyanovsk.roskazna.ru'}, {'_text': '\u0425\u0430\u0431\u0430\u0440\u043e\u0432\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439', 'value': 'http://khabarovsk.roskazna.ru'}, {'_text': '\u0425\u0430\u043d\u0442\u044b-\u041c\u0430\u043d\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433 - \u042e\u0433\u0440\u0430', 'value': 'http://hantymansiysk.roskazna.ru'}, {'_text': '\u0427\u0435\u043b\u044f\u0431\u0438\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://chelyabinsk.roskazna.ru'}, {'_text': '\u0427\u0435\u0447\u0435\u043d\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430', 'value': 'http://chechnya.roskazna.ru'}, {'_text': '\u0427\u0443\u0432\u0430\u0448\u0441\u043a\u0430\u044f \u0420\u0435\u0441\u043f\u0443\u0431\u043b\u0438\u043a\u0430', 'value': 'http://chuvashia.roskazna.ru'}, {'_text': '\u0427\u0443\u043a\u043e\u0442\u0441\u043a\u0438\u0439 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u043e\u043a\u0440\u0443\u0433', 'value': 'http://chukotka.roskazna.ru'}, {'_text': '\u042f\u0440\u043e\u0441\u043b\u0430\u0432\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c', 'value': 'http://yaroslavl.roskazna.ru'}, {'_text': '\u041c\u043e\u0441\u043a\u0432\u0430', 'value': 'http://moscow.roskazna.ru'}, {'_text': '\u0421\u0442\u0430\u0432\u0440\u043e\u043f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u0440\u0430\u0439', 'value': 'http://stavropol.roskazna.ru'}, {'_text': '\u0426\u0435\u043d\u0442\u0440 \u043f\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044e \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u041a\u0430\u0437\u043d\u0430\u0447\u0435\u0439\u0441\u0442\u0432\u0430 \u0420\u043e\u0441\u0441\u0438\u0438', 'value': 'http://cokr.roskazna.ru'}, {'_text': '\u041c\u0435\u0436\u0440\u0435\u0433\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 \u0423\u0424\u041a', 'value': 'http://moufk.roskazna.ru'}]\n\nRequirements\n============\n* Python3 https://www.python.org\n* click https://github.com/pallets/click\n* lxml http://lxml.de/\n\n\n.. :changelog:\n\nHistory\n=======\n\n\n0.1.0 (2018-01-14)\n------------------\n* First public release on PyPI and updated github code\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ivbeg/lazyscraper", "keywords": "scraping lazy lazy-scraping htmlpatterns", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "lazyscraper", "package_url": "https://pypi.org/project/lazyscraper/", "platform": "", "project_url": "https://pypi.org/project/lazyscraper/", "project_urls": { "Homepage": "https://github.com/ivbeg/lazyscraper" }, "release_url": "https://pypi.org/project/lazyscraper/0.1.0/", "requires_dist": [ "lxml", "click" ], "requires_python": "", "summary": "Lazy simple command line tool, a swiss knife for scraper writers. Automates scraping so much as possible", "version": "0.1.0" }, "last_serial": 3570023, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "8fc0dd95e98480c3219865782f1b004d", "sha256": "1dc4ea98785e8d6d95b54e74a0fff4cd9dcdb4df6f141c19a7d638561d6363bc" }, "downloads": -1, "filename": "lazyscraper-0.1.0-py2.7.egg", "has_sig": false, "md5_digest": "8fc0dd95e98480c3219865782f1b004d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 18994, "upload_time": "2018-01-14T21:54:25", "url": "https://files.pythonhosted.org/packages/ee/36/d4470d3c9268be94ba9b408f0b4a1b1b2e86759ad6767dfc1ef48af3790e/lazyscraper-0.1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "93165ef4dc31811024260fbb201eda71", "sha256": "a842195f1183d7b909ffd249997ea3471a2c11b1de7e90804a723a18f9b05aec" }, "downloads": -1, "filename": "lazyscraper-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "93165ef4dc31811024260fbb201eda71", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 16923, "upload_time": "2018-01-14T21:54:23", "url": "https://files.pythonhosted.org/packages/6b/3d/ce41cb623f9c0b174cd357d04e8982eccc9c9c0751db622be55214b344a1/lazyscraper-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01c511678d87a6e7066063c552f58ef2", "sha256": "99d3b9c150160344aa86ba2e153c8df261a20980d486792661145981b7f14fc3" }, "downloads": -1, "filename": "lazyscraper-0.1.0-py3.6.egg", "has_sig": false, "md5_digest": "01c511678d87a6e7066063c552f58ef2", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 20588, "upload_time": "2018-01-14T21:54:27", "url": "https://files.pythonhosted.org/packages/60/f4/afda9312b4544faa08008b1033fafc3f237a4bbada61b780cd5dbf23a52c/lazyscraper-0.1.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "ea3b0220fd3152bec84a8009f0cdb9d5", "sha256": "4adedfc28583f9885f48ac833d3cca8b675a7e33d04591591d1b159535227eb2" }, "downloads": -1, "filename": "lazyscraper-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ea3b0220fd3152bec84a8009f0cdb9d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15005, "upload_time": "2018-02-10T14:49:00", "url": "https://files.pythonhosted.org/packages/98/40/dca99f363bc39632e63a929fc873fee315261e6b90cf58341ec118dec192/lazyscraper-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c8c754d4a7ff0ceb13660627ed7573b", "sha256": "bd22af8ea53f68ba30395fbd8d9e6e37e934f244d8ae319dfdf761f95175a8f3" }, "downloads": -1, "filename": "lazyscraper-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7c8c754d4a7ff0ceb13660627ed7573b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10534, "upload_time": "2018-01-14T21:54:29", "url": "https://files.pythonhosted.org/packages/1a/15/b6a0c42be87100d0e6dc82644f576ca12119ab84cab319b946d06cf7efa7/lazyscraper-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8fc0dd95e98480c3219865782f1b004d", "sha256": "1dc4ea98785e8d6d95b54e74a0fff4cd9dcdb4df6f141c19a7d638561d6363bc" }, "downloads": -1, "filename": "lazyscraper-0.1.0-py2.7.egg", "has_sig": false, "md5_digest": "8fc0dd95e98480c3219865782f1b004d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 18994, "upload_time": "2018-01-14T21:54:25", "url": "https://files.pythonhosted.org/packages/ee/36/d4470d3c9268be94ba9b408f0b4a1b1b2e86759ad6767dfc1ef48af3790e/lazyscraper-0.1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "93165ef4dc31811024260fbb201eda71", "sha256": "a842195f1183d7b909ffd249997ea3471a2c11b1de7e90804a723a18f9b05aec" }, "downloads": -1, "filename": "lazyscraper-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "93165ef4dc31811024260fbb201eda71", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 16923, "upload_time": "2018-01-14T21:54:23", "url": "https://files.pythonhosted.org/packages/6b/3d/ce41cb623f9c0b174cd357d04e8982eccc9c9c0751db622be55214b344a1/lazyscraper-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01c511678d87a6e7066063c552f58ef2", "sha256": "99d3b9c150160344aa86ba2e153c8df261a20980d486792661145981b7f14fc3" }, "downloads": -1, "filename": "lazyscraper-0.1.0-py3.6.egg", "has_sig": false, "md5_digest": "01c511678d87a6e7066063c552f58ef2", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 20588, "upload_time": "2018-01-14T21:54:27", "url": "https://files.pythonhosted.org/packages/60/f4/afda9312b4544faa08008b1033fafc3f237a4bbada61b780cd5dbf23a52c/lazyscraper-0.1.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "ea3b0220fd3152bec84a8009f0cdb9d5", "sha256": "4adedfc28583f9885f48ac833d3cca8b675a7e33d04591591d1b159535227eb2" }, "downloads": -1, "filename": "lazyscraper-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ea3b0220fd3152bec84a8009f0cdb9d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15005, "upload_time": "2018-02-10T14:49:00", "url": "https://files.pythonhosted.org/packages/98/40/dca99f363bc39632e63a929fc873fee315261e6b90cf58341ec118dec192/lazyscraper-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c8c754d4a7ff0ceb13660627ed7573b", "sha256": "bd22af8ea53f68ba30395fbd8d9e6e37e934f244d8ae319dfdf761f95175a8f3" }, "downloads": -1, "filename": "lazyscraper-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7c8c754d4a7ff0ceb13660627ed7573b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10534, "upload_time": "2018-01-14T21:54:29", "url": "https://files.pythonhosted.org/packages/1a/15/b6a0c42be87100d0e6dc82644f576ca12119ab84cab319b946d06cf7efa7/lazyscraper-0.1.0.tar.gz" } ] }