首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >BeautifulSoup Finviz

BeautifulSoup Finviz
EN

Stack Overflow用户
提问于 2020-12-04 13:52:07
回答 1查看 347关注 0票数 0

对不起,占用您的时间,我正在学习美丽的汤,我想创建一个数据格式,它将从这个URL复制表

代码语言:javascript
运行
复制
import pandas as pd

# To extract fundamental data
from bs4 import BeautifulSoup as bs
import requests

headers = {
    'User-Agent': 'Mozilla/5.0'}


base_url = 'https://finviz.com/screener.ashx?v=111&f=cap_smallover,sh_curvol_o500,sh_price_o3,sh_relvol_o1,sh_short_o10,ta_pattern_wedgedown&ft=3&o=-change'
html = requests.get(base_url, headers=headers)
soup = bs(html.content, "html.parser")
main_div = soup.find('div', attrs={'id': 'screener-content'})
table = main_div.find('table')
sub = table.findAll('tr')
rows = sub[5].findAll('td')

data = []

for row in rows:
    link = row.a
    if link is not None:

        data += link.get_text()

print(data)

但我得到的是:

代码语言:javascript
运行
复制
['1', '1', 'A', 'P', 'I', 'A', 'g', 'o', 'r', 'a', ',', ' ', 'I', 'n', 'c', '.', 'T', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', 'y',

就这样一个。

如何将所有这些数据保存到列表中,以便在finviz筛选器表附近创建数据?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-04 13:58:59

代码中唯一的问题是:

代码语言:javascript
运行
复制
data += link.get_text()

+=语法在Python中不像这样工作。要向list添加元素,我们可以使用L.append(obj)。因此,您的代码可以更改为:

代码语言:javascript
运行
复制
data.append(link.get_text())
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65144816

复制
相关文章

相似问题

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