首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python 2从网站抓取数据

使用Python 2从网站抓取数据
EN

Stack Overflow用户
提问于 2017-01-20 08:03:13
回答 1查看 127关注 0票数 0

我试图从股票市场中获取数据,但当我打印出数据时,我什么也得不到。我想要苹果的价格。

代码语言:javascript
复制
import urllib
import re



htmlfile = urllib.urlopen("http://finance.yahoo.com/q?s=AAPL&q1=1")

htmltext = htmlfile.read()

regex = '<span class="Fw(b) Fz(36px) Mb(-4px)" data-reactid="270">(.+?)</span>'

pattern = re.compile(regex)

price = re.findall(pattern,htmltext)

print price
EN

回答 1

Stack Overflow用户

发布于 2017-01-20 08:28:03

你能详细说明你到底想从页面上拉出什么吗?我可以用下面的代码拉取你的标签(注意:使用Python3、BeautifulSoup和requests,我推荐所有这些都用于web抓取;另外,为了找出你需要为headers变量放什么,我建议:http://www.whatsmyua.com/)

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

url = 'http://finance.yahoo.com/q?s=AAPL&q1=1'

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; InfoPath.3; .NET4.0C; .NET4.0E; rv:11.0) like Gecko'}

r = requests.get(url, headers=headers)

soup = BeautifulSoup(r.text, "html.parser")

for item in soup.find_all('span', {"class":"Fw(500) Pstart(10px) Fz(24px) C($dataRed)"}):
    print(item)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41753917

复制
相关文章

相似问题

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