当前位置: 首页>>代码示例>>Python>>正文


Python Scraper.open方法代码示例

本文整理汇总了Python中scraper.Scraper.open方法的典型用法代码示例。如果您正苦于以下问题:Python Scraper.open方法的具体用法?Python Scraper.open怎么用?Python Scraper.open使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在scraper.Scraper的用法示例。


在下文中一共展示了Scraper.open方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: doador_2004

# 需要导入模块: from scraper import Scraper [as 别名]
# 或者: from scraper.Scraper import open [as 别名]
def doador_2004(cnpj_ou_cpf):
    u'''
    Retorna uma tabela com as doações desta pessoa (cnpj_ou_cpf). A tabela
    é uma lista de listas, cada uma contendo os campos em "doador_2004.campos".

    >>> tabela = doador_2004('85.907.012/0001-57')
    >>> tabela is not None
    True
    >>> len(tabela)
    16
    >>> len(tabela[0]) == len(doador_2004.campos)
    True

    URL: http://www.tse.gov.br/internet/eleicoes/2004/prest_blank.htm
    '''

    pessoa = pessoa_or_valueerror(cnpj_ou_cpf)
    scraper = Scraper()

    url = 'http://www.tse.gov.br/sadEleicao2004Prestacao/spce/index.jsp'
    scraper.open(url)

    scraper.browser.select_form(name='formDoador')
    scraper.browser.form.find_control(name='nome').readonly = False
    scraper.browser.form.find_control(name='numero').readonly = False
    scraper.browser.form['numero'] = pessoa.plain()
    scraper.browser.form['nome'] = '%'

    try:
        scraper.submit()
    except:
        return None

    if not scraper.html.find(text=regexp('Valor Total de Fornecimento')):
        return None

    table = scraper.html.findAll('table')[-1]

    lines = []
    for tr in table.findAll('tr')[1:-1]:
        columns = []
        for td in tr.findAll('td'):
            try:
                contents = td.b.contents
            except:
                contents = td.contents
            content = ' '.join(contents).strip()
            text = html2unicode(content)
            columns.append(text)
        lines.append(columns)

    return lines
开发者ID:everton137,项目名称:thackday,代码行数:54,代码来源:prestacao_de_contas.py

示例2: doador_2006

# 需要导入模块: from scraper import Scraper [as 别名]
# 或者: from scraper.Scraper import open [as 别名]
def doador_2006(cnpj_ou_cpf):
    u'''
    Retorna uma tabela com as doações desta pessoa (cnpj_ou_cpf). A tabela é
    uma lista de listas, cada uma contendo os campos em "doador_2006.campos".

    >>> tabela = doador_2006('181.929.206-15')
    >>> tabela is not None
    True
    >>> len(tabela)
    1
    >>> len(tabela[0]) == len(doador_2006.campos)
    True

    URL: http://www.tse.gov.br/internet/eleicoes/2006/prest_contas_blank.htm
    '''

    pessoa = pessoa_or_valueerror(cnpj_ou_cpf)
    scraper = Scraper()

    url = 'http://www.tse.gov.br/sadSPCE06F3/faces/careceitaByDoador.jsp'
    scraper.open(url)

    scraper.browser.form['frmByDoador:cdCpfCgc'] = pessoa.plain()
    scraper.submit(name='frmByDoador:_id4')

    strong = scraper.html.find('strong', text=regexp('.*prestadas pelo doador.*'))

    if strong is None:
        return None

    table = strong.parent.parent.parent.parent
    table = table.nextSibling.nextSibling.nextSibling.nextSibling

    lines = []
    for tr in table.tbody.findAll('tr'):
        columns = []
        for td in tr.findAll('td'):
            content = td.contents[0].strip()
            text = html2unicode(content)
            columns.append(text)
        lines.append(columns)

    return lines
开发者ID:everton137,项目名称:thackday,代码行数:45,代码来源:prestacao_de_contas.py

示例3: doador_2008

# 需要导入模块: from scraper import Scraper [as 别名]
# 或者: from scraper.Scraper import open [as 别名]
def doador_2008(cnpj_ou_cpf):
    u'''
    Consulta o CNPJ ou CPF informado na página de doadores da campanha de 2008
    e retorna uma lista contendo os campos em "doador_2008.campos".

    Exemplo:

    >>> campos = doador_2008('00000000000191')
    >>> campos is not None
    True
    >>> len(campos) == len(doador_2008.campos)
    True
    '''

    pessoa = pessoa_or_valueerror(cnpj_ou_cpf)
    scraper = Scraper()

    # primeiro verifica se a pessoa foi doadora
    url = 'http://www.tse.jus.br/spce2008ConsultaFinanciamento/lovPesquisaDoador.jsp'
    scraper.open(url)

    scraper.browser.form['cdCpfCnpjDoador'] = pessoa.plain()
    scraper.browser.form.find_control(name='acao').readonly = False
    scraper.browser.form['acao'] = 'pesquisar'
    scraper.submit()

    if scraper.html.find('font', text=regexp('A pesquisa n.o retornou resultado.')):
        return None

    # e pega a lista de quem recebeu
    url = 'http://www.tse.jus.br/spce2008ConsultaFinanciamento/inicioServlet.do?acao=candidato'
    scraper.open(url)
    scraper.browser.form.find_control(name='cdCpfCnpjDoador').readonly = False
    scraper.browser.form['cdCpfCnpjDoador'] = pessoa.plain()
    scraper.browser.form.find_control(name='acao').readonly = False
    scraper.browser.form['acao'] = 'resumo'
    scraper.submit()

    url = 'http://www.tse.jus.br/spce2008ConsultaFinanciamento/listaReceitaCand.jsp'
    scraper.open(url)
    td = scraper.html.find('td', attrs={'class':'Left'})

    fields = []
    while True:
        try:
            # vai percorrendo os campos <td> e pegando o conteúdo
            items = [c for c in td.contents if isinstance(c, basestring)]
            s = ''.join(items)
            s = s.strip()
            fields.append(s.encode('utf8'))
            td = td.nextSibling.nextSibling
        except AttributeError:
            break

    return fields
开发者ID:everton137,项目名称:thackday,代码行数:57,代码来源:prestacao_de_contas.py

示例4: emit_match

# 需要导入模块: from scraper import Scraper [as 别名]
# 或者: from scraper.Scraper import open [as 别名]
					db_session.add(existing_match)

			emit_match(match)

		db_session.commit()

		# We don't really need to delete the matches, they're not that big,
		# but lets flush them when they get fairly large...
		if len(matches) >= MATCHES_FLUSH_AT:
			parsed_match_ids = set([match['match_id'] for match in parsed_matches])
			stored_match_ids = set(matches.keys())

			matches_to_del = stored_match_ids - parsed_matches

			for match_id in matches_to_del:
				del matches[match_id]

		sleep_duration = random.randint(
			POLL_FREQUENCY_SECS - POLL_FREQUENCY_VARIANCE,
			POLL_FREQUENCY_SECS + POLL_FREQUENCY_VARIANCE
		)

		time.sleep(sleep_duration)

try:
	s = Scraper(SCRAPE_TARGET)
	s.open()
	run(s)

finally:
	s.close()
开发者ID:Mattstah,项目名称:ls_scrape,代码行数:33,代码来源:main.py


注:本文中的scraper.Scraper.open方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。