Форум сайта python.su
Доброго времени суток. Возникла проблема: понадобился парсер, который выбирает вакансии и отправляет в xlsx файл. Собственно, код:
#!/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
// --></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
Офлайн
Перед тем как скармпливать HTML-код страницы в BeautifulSoup, можно регекспом выразеать скрипты. А вообще лучше используйте lxml для парсинга HTML - он менее глючный, чем BeautifulSoup
Офлайн