python - 从 HTML 中获取特定字符串以进行网络抓取
问题描述
我正在尝试获取网站中超链接的股票名称。为了重现性:
import requests
from bs4 import BeautifulSoup
URL = 'https://seekingalpha.com/news/3592559-nvax-nbl-among-premarket-gainers'
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
results = soup.find(id='bullets_ul')
stock_elems = results.find_all('span', class_='ticker-hover-wrapper')
我正在尝试在列表中添加下划线的名称。
我尝试了以下代码的一些变体但没有成功:
for stock_elem in stock_elems:
stock_name = stock_elem.find('href', class_='*')
print(symbol_name.text.strip())
任何帮助将不胜感激。
解决方案
尝试这个:
import requests
from bs4 import BeautifulSoup
URL = 'https://seekingalpha.com/news/3592559-nvax-nbl-among-premarket-gainers'
page = requests.get(URL)
soup = BeautifulSoup(page.content, 'html.parser')
results = soup.find(id='bullets_ul')
stock_elems = results.find_all('span', class_='ticker-hover-wrapper')
ls=[i.find('a').text for i in stock_elems]
输出:
ls
['DPW',
'IMRN',
'BTAI',
'SONN',
'VOLT',
'IBIO',
'AIKI',
'DGLY',
'IDRA',
'HTBX',
'JOB',
'NAK',
'VBIV',
'NBL',
'OGEN',
'ANVS',
'XBIO',
'BNTX',
'CKPT',
'FIXX',
'FLDM',
'PDSB',
'CFRX',
'MVIS',
'NVAX']
推荐阅读
- flutter - 如何在 Flutter 中共享 PDF 文件
- node.js - Neo4jError:您无法在关闭的会话上运行更多事务
- python - Python:创建新的数据框列,显示相对于其他列值的排名
- postgresql - 删除未使用的列会使 postgres 查询更快吗?
- python - 在 Python 中反向 Cuthill Mckee
- android - 我应该使用最新的 android gradle 和库版本吗?
- javascript - 使用 Javascript 更新 XML 中的多条记录
- java - 如何使用 PowerMockito 模拟以下语句?
- ios - RealmSwift:如何在 UInt 上正确采用 RealmOptionalType 协议?
- arrays - 如何使用 alamofire 5 swift 5 在请求后传递数组