рдорд┐рдиреА рд╡реЗрдм рдХреНрд░реЙрд▓рд░ред рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдПрдХ рдкреБрд╕реНрддрдХ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

рдЪреВрдВрдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдХрд┐рддрд╛рдмреЗрдВ рдореИрдВрдиреЗ рд╣рд╛рде рд╕реЗ рдкрдврд╝реА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрд╛рдмреЛрдВ рдХреЛ рдХрд╣реАрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рдкрд╛рда рдкреНрд░рд╛рд░реВрдк (txt, html, fb2) рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рд░реБрдЪрд┐ рдХреА рдХрд┐рддрд╛рдмреЗрдВ рдорд┐рд▓рддреА рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рдРрд╕реЗ рд╕рдордп рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдЖрдк рдПрдХ рдРрд╕реА рдкреБрд╕реНрддрдХ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдРрд╕реА рд╕рд╛рдЗрдЯ рдкрд░ рдкреЛрд╕реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИ рдЬрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрдИ HTML-рдкреГрд╖реНрдареЛрдВ (рдЬреИрд╕реЗ рдпрд╣ рдПрдХ , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ HTML рдкреГрд╖реНрда рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдорд┐рдпрд╛рдВ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрджрд┐ рдкреБрд╕реНрддрдХ рдХреЛ 15-20 рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореИрдиреБрдЕрд▓ рдмрдЪрдд рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧреЗрдЧрд╛ рдФрд░ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛрдЧрд╛ред рджреВрд╕рд░реЗ, рдкреБрд╕реНрддрдХ рдХреЗ рдкрд╛рда рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╣рдореЗрдВ рдХрдЪрд░реЗ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдорд┐рд▓рддрд╛ рд╣реИ - рдкрд╛рда рдЬреЛ рдкреБрд╕реНрддрдХ, рдЯреЗрдмрд▓, рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЕрдиреНрдп рд╕рд╛рдЗрдЯреЛрдВ рдФрд░ рдЕрдиреНрдп рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рд▓рд┐рдВрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред

рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦреЗрдВрдЧреЗ рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗред рдКрдкрд░ рд╕реЗ рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдП) рдЖрд╡рд╢реНрдпрдХ рдХреНрд░рдо рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдкреБрд╕реНрддрдХ рдмрд┐рдЦрд░реА рд╣реБрдИ рд╣реИ; рдЦ) рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рд╕реЗ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдкрд░реАрдХреНрд╖рд╛ рд▓реЗрдЧрд╛ рдФрд░ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ; рдФрд░ рдЧ) рдкреБрд╕реНрддрдХ рдХреЗ рд╕рдВрдкреВрд░реНрдг рдкрд╛рда рдХреЛ рдПрдХ html-рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рд╡реНрд▓рд╛рджрд┐рдореАрд░ рдкреНрд▓реБрдВрдЧреНрдпрд╛рди рдХреА рдкреБрд╕реНрддрдХ рд▓реЗрддреЗ рд╣реИрдВ тАЬрднрд╛рд╖рд╛рдПрдВ рдЗрддрдиреА рдЕрд▓рдЧ рдХреНрдпреЛрдВ рд╣реИрдВред рд▓реЛрдХрдкреНрд░рд┐рдп рднрд╛рд╖рд╛рд╡рд┐рдЬреНрдЮрд╛рди ред " рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдорд┐рд▓реА рдЬрд╣рд╛рдВ рдЗрд╕реЗ рдкрд╛рда рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдкрдВрдЬреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рд┐рдВрдХ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд╛рдпрдерди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг 2.6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕ рдпрд╛ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдореБрдлреНрдд рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдбрд╛рдЙрдирд▓реЛрдб рдкреГрд╖реНрда

рдкреГрд╖реНрдареЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЙрдирдХреЗ рдкрддреЗ рдЪрд╛рд╣рд┐рдПред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рдкрд╣рд▓реЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдХреЗ рдкрддреЗ рд╕рдорд╛рди рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рднрд┐рдиреНрди рд╣реИрдВ:

http://profismart.ru/web/bookreader-115980- page_number .php

рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ:

for i in range(2,29): url = "http://profismart.ru/web/bookreader-115980-%i.php" % i 

рдпрд╣ рд╣рдореЗрдВ рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдХреЗ рдкрддреЗ рдЕрдЯреНрдард╛рдИрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЧрд╛ред рдкрд╣рд▓реЗ рдкреГрд╖реНрда рдХрд╛ рдкрддрд╛ рдмрд╛рдХреА (http://profismart.ru/web/bookreader-115980.php) рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВрдЧреЗред

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ HTML рдХреЛрдб рдореЗрдВ рд╣реА html рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

 for i in range(2,29): #   url = "http://profismart.ru/web/bookreader-115980-%i.php" % i #   html = "" sock = urllib.urlopen(url) html = sock.read() sock.close() 


рд╣рдо рдкреГрд╖реНрда рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдкрд╛рда рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ

HTML рдХреЛрдб рдЬрд┐рд╕рдореЗрдВ рдкреБрд╕реНрддрдХ рдХрд╛ рдкрд╛рда рд╣реИ, рд╣рдо рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ (рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкреЗрдЬ рдХреЛрдб рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд╛рда <td style="padding:7px" class="ps24 ps37"> рдФрд░ </td> рдмреАрдЪ рдкреГрд╖реНрда рдХреЗ рдЕрдВрджрд░ рд╣реИред рдкрд╛рда рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдкреИрд░рд╛рдЧреНрд░рд╛рдл <div> рдФрд░ </div> рдЯреИрдЧреНрд╕ рдХреЗ рдмреАрдЪ рд╕реНрдерд┐рдд рд╣реИ, рдФрд░ <div> рдЯреИрдЧреНрд╕, рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдХреЗрд╡рд▓ рдкреБрд╕реНрддрдХ рдХреЗ рдкрд╛рда рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкрд╛рда рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ <div> рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рд╕рднреА рдкрд╛рда рдХреЛ рдкрд╣рд▓реЗ рдЯреИрдЧ </td> ред рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:

 (<div>.+?</div>)</td> 

рдПрдХ рдмрд┐рдВрджреБ рдХрд┐рд╕реА рднреА рдЪрд░рд┐рддреНрд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдкреНрд▓рд╕ рд╕рдВрдХреЗрдд рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЪрд░рд┐рддреНрд░ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдВрдпреЛрдЬрди рдХреЗ рдмрд╛рдж рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди .+ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдиреНрдпреВрдирддрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд░реНрдг рд▓реЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо HTML рдХреЛрдб рдореЗрдВ рдкрд╛рдП рдЧрдП рдкрд╣рд▓реЗ <div> рдЯреИрдЧ рд╕реЗ рд╕рднреА рдкрд╛рда <div> (рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж) рд╕рдВрдпреЛрдЬрди </div></td> ред рдХреЛрд╖реНрдардХ рдкрд╛рдП рдЧрдП рдкрд╛рда рдХреЗ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд▓реЗрдВрдЧреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо </td> рдмрд┐рдирд╛ рдкрд╛рдП рдЧрдП рд╕рднреА рдкрд╛рда рд▓реЗрддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:

 text_regex = re.compile(u"(<div>.+?</div>)</td>", re.IGNORECASE | re.DOTALL | re.UNICODE) 

рд╣рдо text_regex рдирд╛рдо рд╕реЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдкреБрд╕реНрддрдХ рдХреЗ рдкрд╛рда рдХреЛ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ book рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВрдЧреЗред рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде, рдкреЗрдЬ 2-28 рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 for i in range(2,29): #   url = "http://profismart.ru/web/bookreader-115980-%i.php" % i #   html = "" sock = urllib.urlopen(url) html = sock.read() sock.close() #            book = book + text_regex.search(html).group(1) 

рд╣рдо рдкрд╣рд▓реЗ рдкреЗрдЬ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд╕реЗ рд╣рдо рдкреБрд╕реНрддрдХ рдХреЗ рдкрд╛рда рдФрд░ рдирдИ рдПрдЪрдЯреАрдПрдордПрд▓-рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖рдХ рд▓реЗрдВрдЧреЗ рдЬреЛ рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдирд╛рдПрдЧрд╛ред рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реАрд░реНрд╖ рд▓реЗрдЦ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ:

 (<html.+?<body>) 

рдпрд╣реА рд╣реИ, рд╣рдо рд╕рднреА рдХреЛрдб <html> рдЯреИрдЧ рд╕реЗ <body> рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХреЛрдб рдореЗрдВ рдереЛрдбрд╝рд╛ рдХрдЪрд░рд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреГрд╖реНрда рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдпрд╛ рд╣реИрдВрдбрд╣реЗрд▓реНрдб рд╕реНрдХреНрд░реАрди рдкрд░, рд╣рдо рдЗрд╕реЗ рд╡реИрд╕реЗ рд╣реА рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗред рдпрджрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдХреБрдЫ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджреЗрдВрдЧреЗред рдкрд┐рдЫрд▓реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓рд╛рдЗрди рдЬреЛрдбрд╝реЗрдВ:

 head_regex = re.compile(u"(<html.+?<body>)", re.IGNORECASE | re.DOTALL | re.UNICODE) 

рдкреНрд░рдердо рдкреГрд╖реНрда рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 #    url = "http://profismart.ru/web/bookreader-115980.php" html = "" sock = urllib.urlopen(url) html = sock.read() sock.close() #   head = head_regex.search(html).group(1) book = book + head #      book = book + text_regex.search(html).group(1) 


рдкреБрд╕реНрддрдХ рдХреЗ рдкрд╛рда рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рдкреБрд╕реНрддрдХ рдЪрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП, <html> рдФрд░ <body> рд▓рд┐рдП рд╕рдорд╛рдкрди рдЯреИрдЧ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦреЗрдВред рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд░рддрд╛ рд╣реИ:

 #     file_out = open('book.html', 'w') #    file_out.write(book) #    file_out.write("\n</body></html>") #   file_out.close() 


рдкреВрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрд╛

рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдореИрдВрдиреЗ <div>...</div> рдЯреИрдЧ рдХреЗ рд╕рд╛рде <p align=justify>...</p> рдЯреИрдЧ рдЬреЛрдбрд╝рд╛ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдкреГрд╖реНрда рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреАред рдкрд╣рд▓рд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдкрд╛рда рдкреГрд╖реНрда рдХреА рдЪреМрдбрд╝рд╛рдИ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдЖрддрд╛ рд╣реИред рджреВрд╕рд░рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдХрд╛рд░реНрдпрдХреНрд░рдо рдЬреАрд╡рди рдХреЗ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред

рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдкреВрд░рд╛ рдЯреЗрдХреНрд╕реНрдЯ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .py рдФрд░ рд░рди рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ:

 import urllib import re text_regex = re.compile(u"(<div>.+?</div>)</td>", re.IGNORECASE | re.DOTALL | re.UNICODE) head_regex = re.compile(u"(<html.+?<body>)", re.IGNORECASE | re.DOTALL | re.UNICODE) book = "" # Download first page url = "http://profismart.ru/web/bookreader-115980.php" print "Page 1" print url html = "" sock = urllib.urlopen(url) html = sock.read() sock.close() print "Page downloaded." # Extract page head and book text book = book + head_regex.search(html).group(1) book = book + text_regex.search(html).group(1) for i in range(2,29): # Generate page url url = "http://profismart.ru/web/bookreader-115980-%i.php" % i print "Page %i" % i print url # Download the page sock = urllib.urlopen(url) html = sock.read() sock.close() print "Page downloaded." # Extract required text book = book + text_regex.search(html).group(1) # Replace <div> with <p align=justify> book = book.replace("<div>", "\n<p align=justify>") book = book.replace("</div>", "</p>") # Write to file file_out = open('book.html', 'w') file_out.write(book) file_out.write("\n</body></html>") file_out.close() 

Source: https://habr.com/ru/post/In139673/


All Articles