作者ppoo1215 (po)
看板Python
标题[问题] 新手请益 关於抓资料
时间Sat Jun 2 17:28:45 2018
各位大神好,小弟上次问了问题却没有附上程式码
还是有前辈愿意回答 先谢谢
附上程式码 以及我想做的事
从 玩股网的这个页面
抓出*美林这个券商在 股票1101的进出明细
小弟目前做出来的方法
只能跑出 含有<td class="up">+150</td>.....
这样的结果
想请问要怎麽做才能够只选出 数字 然後将数字结果全部加总呢??
*电脑排版 手机可能格式会跑掉
在此感谢之前回应过的大神们 但小弟不才 python目前正在学习阶段
有请大神们帮帮忙 谢谢
# -*- coding: utf-8 -*-
from selenium import webdriver
from bs4 import BeautifulSoup
from selenium.webdriver.support.ui import Select
import time
driver = webdriver.Chrome()
driver.get('
https://www.wantgoo.com/stock/agentsata?types=8')
time.sleep(0.5)
driver.find_element_by_id("broker").click()
Select(driver.find_element_by_id("broker")).select_by_visible_text(u"美林")
time.sleep(0.5)
driver.find_element_by_id("stock").click()
Select(driver.find_element_by_id("stock")).select_by_value('1101') #index(int)
time.sleep(0.5)
driver.find_element_by_id("sendSubmit").click()
time.sleep(0.5)
html = driver.page_source
sp = BeautifulSoup(html,'lxml')
def has_class_but_no_id(tag):
return tag.has_attr('class') and not tag.has_attr('id')
data = sp.find(id = "datalist")
qq = data.find_all(has_class_but_no_id)
print (qq)
driver.close()
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.136.55.209
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1527931728.A.E08.html
1F:→ kobe8112: 个人小小拙见建议你可以先大概了解一下html中 06/02 18:23
2F:→ kobe8112: 元素、属性、内容等基本组成的差别,然後这些专有名词可 06/02 18:25
3F:→ kobe8112: 能用英文来记忆,比较不会发生词汇在中文定义不统一造成 06/02 18:26
4F:→ kobe8112: 的混淆,大概了解一下之後,你就能区别你想要的跟程式码 06/02 18:27
5F:→ kobe8112: 抓的,到底是选择的元素,还是元素的属性、内容值 06/02 18:27
6F:→ wefan: bs有get_text()这个方法取出内容 把最後改成qq.get_text() 06/02 21:25
7F:→ wefan: 试试 06/02 21:25
8F:→ ppoo1215: 谢谢上面两位大神的提点,我继续努力 06/02 22:24
9F:推 D0128431: .text 就可以抓了啊 然後再用正则表达式抓150出来 06/03 00:48
10F:→ ppoo1215: 回D大:我想用find all抓出所有我要的数值但是find all 06/03 11:46
11F:→ ppoo1215: 不支援.text用法@@ 06/03 11:46
12F:推 D0128431: Findall 指的是 找出所有符合的标签 所以你无法直接.tex 06/03 13:41
13F:→ D0128431: t 如果你选择finall这个list里面特定的item就可以用 .te 06/03 13:41
14F:→ D0128431: xt 06/03 13:41
15F:→ virgil246: 表格状的可以试试pandas 06/03 13:55