首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python从页面获取公司名称

使用Python从页面获取公司名称
EN

Stack Overflow用户
提问于 2016-07-03 16:38:23
回答 1查看 693关注 0票数 0

我想打印公司名称从谷歌金融页面,使用div类appbar-片断-主。我使用的代码不返回任何或[]。无法使用漂亮汤找到包含公司名称的span标签。

代码语言:javascript
复制
html = urlopen('https://www.google.com/finance?q=F')
soup = BeautifulSoup(html, "html.parser")
x = soup.find(id='appbar-snippet-primary')
print(x)

谢谢你的解释。我已经按照您的建议更新了代码,并包含了股票价格,创建了一个循环,然后将信息存储在字典中。

代码语言:javascript
复制
from bs4 import BeautifulSoup
import requests

x = ('F', 'GE', 'GOOGL')
Company = {}

for i in x:
    head = {"User-Agent":"Mozilla/5.0 (X11; Linux x86_64)  AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"}
    html = requests.get('https://www.google.com/finance?q=%s' % (i) ,   headers=head).content
    soup = BeautifulSoup(html, "html.parser")
    c = soup.find("div", class_="appbar-snippet-primary").text
    p = soup.find('span',class_='pr').span.text
    Company.update({c : p})
for k, v in Company.items():
print('{:<30} {:>8}'.format(k,v))
EN

回答 1

Stack Overflow用户

发布于 2016-07-03 17:02:47

这是一个类,不是一个ID

您感兴趣的元素如下所示

代码语言:javascript
复制
<div class="appbar-snippet-primary">
    <span>Ford Motor Company</span>
</div>

因此,这是一个带有divclass="appbar-snippet-primary",而不是像您的代码所暗示的id="appbar-snippet-primary"

该值不在原始HTML中,它要求JS首先执行

然而,还有一个更深层次的问题,就是直到页面上的JavaScript运行时才设置div,所以下载原始BeautifulSoup并在其上运行BeautifulSoup是不可能的,因为那时JS还没有被执行。

该原始HTML中的script标记之一包含:var _companyName = 'Ford Motor Company';,因此如果坚持使用原始HTML,则可以为该_companyName =进行grep。

使用硒

您可以使用,因为它引导实际的浏览器并运行JS,然后您可以使用它的class找到该元素。

代码语言:javascript
复制
from __future__ import print_function

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("https://www.google.com/finance?q=F")

div = driver.find_element_by_css_selector('.appbar-snippet-primary')
company_name = div.text
print(company_name)

driver.close()

我得到:

代码语言:javascript
复制
Ford Motor Company
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38172071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档