#!/usr/bin/python # -*- coding: utf-8 -*- from bs4 import BeautifulSoup from urllib.request import urlopen, ProxyHandler # import urllib.request import xlsxwriter with open('adress.txt', 'r') as file: html = file.read() soup = BeautifulSoup(html) for i in soup.findAll('a'): # # print(i.string, i['href']) html_doc = urlopen(i['href']).read() soup = BeautifulSoup(html_doc) z = soup.find('div', 'entry-content') # Ищем теги P внутри DIV CLASS=entry-content result = z.findAll('p') workbook = xlsxwriter.Workbook('{0}.xlsx'.format(i.string)) # Создаем одноименный файл worksheet = workbook.add_worksheet() worksheet.set_column('A:A', 7) # Ширина строки A worksheet.set_column('B:B', 50) # Ширина B worksheet.write('B1', i.string) sl = 3 for num in result: worksheet.write('A{0}'.format(sl), result.index(num)+1) worksheet.write('B{0}'.format(sl), str(num)[3:-3]) sl += 1
Не обращайте внимание на частичный говнокод. А возможно и не частичный. Обычный скрипт на раз.
Возникла проблема. Начали попадаться скрипты JavaScript:
// --></script><br /> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></p> <p><script type="text/javascript"><!-- google_ad_client = "ca-pub-7219099348736807"; /* Баннер */ google_ad_slot = "9932539218"; google_ad_width = 468; google_ad_height = 60; // --></script><br /> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></p> <p>ГЕЛИОС: 5-08-25</p> <p>ГЕЛИОС: 6-22-57, мкрн. 26</p> <p>КРАФТ & К: 5-98-51, Топоркова 21А</p> <p>РПК: Корчагина 149, по Транспартной</p> <p>РТК: 7-43-57, по Качарской</p> <p>РТК: 6-74-55, р-н МЖК</p> <p>РТК: 7-42-46, по объездной</p> <p>РТК: 7-54-66, р-н УПП</p> <p>GLOBALCAR: 4-43-37</p> <p><script type="text/javascript"><!-- google_ad_client = "ca-pub-7219099348736807"; /* Прямоугольник */ google_ad_slot = "7677102158"; google_ad_width = 300; google_ad_height = 250;[quote][/quote]
Как исключить такие скрипты? Фичи, типа
if str.find('script') != -1: bla-bla-bla
не помогают