【发布时间】:2017-12-21 02:14:41
【问题描述】:
我正在尝试使用 Python Beautiful Soup 从 IG 索引页面中提取股票代码(南非 40)字段,但我无法检索它。
我试图从中获取数据的网页是https://www.ig.com/uk/ig-indices/south-africa-40?siteId=igm
带有代码数据的 HTML 代码:
<div class="ma-content title">
<h1>South Africa 40</h1>
<p>
.........some text..........
</p>
</div>
我试过这个:
name = soup.select('div.ma-content title h1')[0].text
但得到错误信息:
Traceback(最近一次调用最后一次):文件 “IGIndexDataScrape_Minute_v0.1.py”,第 30 行,在 name = soup.select('div.ma-content title h1')[0].text IndexError: list index out of range
任何关于上述内容的建议/代码更正都会很有帮助。
下面是直接复制粘贴的完整代码:
import urllib2
from bs4 import BeautifulSoup
import csv
from datetime import datetime
from lxml import html
import requests
quote_page = ['https://www.ig.com/uk/ig-indices/south-africa-40?siteId=igm']
data = []
for pg in quote_page:
page = urllib2.urlopen(pg)
soup = BeautifulSoup(page, 'html.parser')
name = soup.select('div.ma-content title h1')[0].text
sell_price = soup.find('span', attrs={'class':'price', 'id':'bid'}).text
data.append(sell_price)
buy_price = soup.find('span', attrs={'class':'price', 'id':'ofr'}).text
data.append(buy_price)
print sell_price + "\t\t" + buy_price + name
# data.append(name, sell_price, buy_price)
# print name + "\t\t" + sell_price + "\t\t" + buy_price
【问题讨论】:
-
请编辑您的帖子并正确格式化代码:stackoverflow.com/editing-help#code
-
css 错误。它应该是
div.ma-content.title或只是div.title
标签: python web web-scraping beautifulsoup