从网页中获取姓名和电子邮件

时间:2015-09-30 12:12:12

标签: python excel selenium selenium-webdriver web-scraping

我试图从Link获取数据。我想从网页上获取名称/电子邮件/位置/等内容并将其粘贴到网页中。我已经为它编写了代码,当我运行此代码时,它只存储一个空白列表。

请帮我从网页上复制这些数据。

我想从此链接中获取公司名称,电子邮件,电话号码,并将这些内容放在Excel文件中。我想对网站的所有页面做同样的事情。我有逻辑来获取浏览器中的链接并在它们之间切换。我无法从网站上获取数据。任何人都可以为我编写的代码提供增强功能。

以下是我写的代码:

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time
from lxml import html
import requests
import xlwt

browser = webdriver.Firefox() # Get local session of firefox

# 0 wait until the pages are loaded
browser.implicitly_wait(3) # 3 secs should be enough. if not, increase it

browser.get("http://ae.bizdirlib.com/taxonomy/term/1493") # Load page
links = browser.find_elements_by_css_selector("h2 > a")

#print link
for link in links:
    link.send_keys(Keys.CONTROL + Keys.RETURN)
    link.send_keys(Keys.CONTROL + Keys.PAGE_UP)
#tree = html.fromstring(link.text)
    time.sleep(5)

companyNameElement = browser.find_elements_by_css_selector(".content.clearfix>div>fieldset>div>ul>li").text 
companyName = companyNameElement 
print companyNameElement

Html代码如下所示

<div class="content">
<div id="node-946273" class="node node-country node-promoted node-full clearfix">
<div class="content clearfix">
<div itemtype="http://schema.org/Corporation" itemscope="">
<fieldset>
<legend>Company Information</legend>
<div style="width:100%;">
<div style="float:right; width:340px; vertical-align:top;">
<br/>
<ul>
<li>
<strong>Company Name</strong>
: 
<span itemprop="name">Sabbro - F.Z.C</span>
</li>
</ul>

当我使用它时,它会给我一个错误list' object has no attribute 'text'。有人可以帮助我增强代码并使其工作。我有点像在这个问题上永远陷入困境。

1 个答案:

答案 0 :(得分:1)

companyNameElement = browser.find_elements_by_css_selector(".content.clearfix>div>fieldset>div>ul>li").text 
companyName = companyNameElement 
print companyNameElement

find_elements_by ...返回一个列表,您可以访问该列表的第一个元素,也可以使用等效的find_element_by ...方法来获取第一个元素。

相关问题