Как мне лучше всего изолировать два разных немаркированных фрагмента HTML, используя красивый суп, для печати в CSV?Python

Программы на Python
Anonymous
Как мне лучше всего изолировать два разных немаркированных фрагмента HTML, используя красивый суп, для печати в CSV?

Сообщение Anonymous »

В предисловии: я новичок в Python и впервые использую BeautifulSoup. Мы будем очень признательны за любой вклад.

Я пытаюсь извлечь с этого сайта названия всех компаний и адреса электронной почты. Есть три слоя ссылок для сканирования (список страниц в алфавитном порядке -> Список компаний по буквам -> страница сведений о компании), и впоследствии я распечатываю их в CSV-файл.

До сих пор мне удавалось изолировать список ссылок в алфавитном порядке с помощью приведенного ниже кода, но я застрял, пытаясь изолировать разные страницы компании, а затем извлечь имя/адрес электронной почты из неразмеченного HTML-кода.
import re
import urllib2
from bs4 import BeautifulSoup

page = urllib2.urlopen('http://www.indiainfoline.com/Markets/Company/A.aspx').read()
soup = BeautifulSoup(page)
soup.prettify()

pattern = re.compile(r'^\/Markets\/Company\/\D\.aspx$')

all_links = []
navigation_links = []
root = "http://www.indiainfoline.com/"

# Finding all links
for anchor in soup.findAll('a', href=True):
all_links.append(anchor['href'])
# Isolate links matching regex
for link in all_links:
if re.match(pattern, link):
navigation_links.append(root + re.match(pattern, link).group(0))
navigation_links = list(set(navigation_links))

company_pages = []
for page in navigation_links:
for anchor in soup.findAll('table', id='AlphaQuotes1_Rep_quote') [0].findAll('a',href=True):
company_pages.append(root + anchor['href'])


Подробнее здесь: https://stackoverflow.com/questions/205 ... tiful-soup

Вернуться в «Python»