КБК, ввида
Коды бюджетной классификации;Наименование доходов
Написал, все прекрасно парсит, почти все…
Дело в том, что структура xpath немного ошибочная в документе
Проверил Коды бюджетной классификации и пути выходят такие:
//*[@id="main"]/div[2]/table/tbody/tr[2]/td[2]/p //*[@id="main"]/div[2]/table/tbody/tr[3]/td[2]/p[1] //*[@id="main"]/div[2]/table/tbody/tr[4]/td[2]/p[1] //*[@id="main"]/div[2]/table/tbody/tr[5]/td[2]/p //*[@id="main"]/div[2]/table/tbody/tr[9]/td[2]/p[2] //*[@id="main"]/div[2]/table/tbody/tr[7]/td[2]/p[1] //*[@id="main"]/div[2]/table/tbody/tr[5]/td[2]/p //*[@id="main"]/div[2]/table/tbody/tr[7]/td[2]/p[1]
Код:
from grab import Grab, GrabError import time import random g = Grab() g.setup(log_dir='log') kbk=open('ipkbk.txt').read().splitlines() kbkres= open('kbk_ip.txt','w') for x in range(len(kbk)): try: time.sleep(random.randint(5,15)) g.go(kbk[x]) sp = [ '//*[@id="main"]/div[2]/table/tbody/tr/td[2]/p', '//*[@id="main"]/div[2]/table/tbody/tr/td[1]/p' ] result = [[i.text() for i in g.doc.select(sp[j])] for j in range(len(sp))] for show in zip(*result): print 'IP'+';'.join(show).encode('utf-8') print>>kbkres,'IP'+';'.join(show).encode('windows 1251') except GrabError: time.sleep(120) g.go(kbk[x]) sp = [ '//*[@id="main"]/div[2]/table/tbody/tr/td[2]/p', '//*[@id="main"]/div[2]/table/tbody/tr/td[1]/p' ] result = [[i.text() for i in g.doc.select(sp[j])] for j in range(len(sp))] for show in zip(*result): print 'IP'+';'.join(show).encode('utf-8') print>>kbkres,'IP'+';'.join(show).encode('windows 1251') kbkres.close()
Результат, смещенный и некоторых кбк нету
IPКоды бюджетной классификации;Наименование доходов IP182 1 01 02010 01 1000 110;Налог на доходы физических лиц с доходов, источником которых является налоговый агент, за исключением доходов, в отношении которых исчисление и уплата налога осуществляются в соответствии со статьями 227, 2271 и 228 Налогового кодекса Российской Федерации (сумма платежа (перерасчеты, недоимка и задолженность по соответствующему платежу, в том числе по отмененному) IP182 1 01 02010 01 2100 110;Налог на доходы физических лиц с доходов, источником которых является налоговый агент, за исключением доходов, в отношении которых исчисление и уплата налога осуществляются в соответствии со статьями 227, 2271 и 228 Налогового кодекса Российской Федерации (пени по соответствующему платежу) IP;Налог на доходы физических лиц с доходов, источником которых является налоговый агент, за исключением доходов, в отношении которых исчисление и уплата налога осуществляются в соответствии со статьями 227, 2271 и 228 Налогового кодекса Российской Федерации (проценты по соответствующему платежу) IP182 1 01 02010 01 2200 110;Налог на доходы физических лиц с доходов, источником которых является налоговый агент, за исключением доходов, в отношении которых исчисление и уплата налога осуществляются в соответствии со статьями 227, 2271 и 228 Налогового кодекса Российской Федерации (суммы денежных взысканий (штрафов) по соответствующему платежу согласно законодательству Российской Федерации) IP;Налог на доходы физических лиц с доходов, полученных от осуществления деятельности физическими лицами, зарегистрированными в качестве индивидуальных предпринимателей, нотариусов, занимающихся частной практикой, адвокатов, учредивших адвокатские кабинеты и других лиц, занимающихся частной практикой в соответствии со статьей 227 Налогового кодекса Российской Федерации (сумма платежа (перерасчеты, недоимка и задолженность по соответствующему платежу, в том числе по отмененному) IP182 1 01 02010 01 3000 110;Налог на доходы физических лиц с доходов, полученных от осуществления деятельности физическими лицами, зарегистрированными в качестве индивидуальных предпринимателей, нотариусов, занимающихся частной практикой, адвокатов, учредивших адвокатские кабинеты и других лиц, занимающихся частной практикой в соответствии со статьей 227 Налогового кодекса Российской Федерации (пени по соответствующему платежу) IP182 1 01 02020 01 1000 110;Налог на доходы физических лиц с доходов, полученных от осуществления деятельности физическими лицами, зарегистрированными в качестве индивидуальных предпринимателей, нотариусов, занимающихся частной практикой, адвокатов, учредивших адвокатские кабинеты и других лиц, занимающихся частной практикой в соответствии со статьей 227 Налогового кодекса Российской Федерации (проценты по соответствующему платежу) IP182 1 01 02020 01 2100 110;Налог на доходы физических лиц с доходов, полученных от осуществления деятельности физическими лицами, зарегистрированными в качестве индивидуальных предпринимателей, нотариусов, занимающихся частной практикой, адвокатов, учредивших адвокатские кабинеты и других лиц, занимающихся частной практикой в соответствии со статьей 227 Налогового кодекса Российской Федерации (суммы денежных взысканий (штрафов) по соответствующему платежу согласно законодательству Российской Федерации)
Как быть в таких случаях?