我正试图从
获得价值=“3474636382675” <input class="lst" value="3474636382675" title="Zoeken" autocomplete="off" id="sbhost" maxlength="2048" name="q" type="text"
&GT;
我试过
response.css(".lst >value").extract()
这个有效,但我得到了所有东西,我只需要价值。
response.css(".lst").extract()
答案 0 :(得分:4)
答案 1 :(得分:0)
我用漂亮的汤来解析HTML。这是一个从雅虎财务中获取股票价格的例子。
import urllib.request
from bs4 import BeautifulSoup
def getPrice(tag):
source = "https://finance.yahoo.com/quote/"+tag
filehandle = urllib.request.urlopen(source)
soup = BeautifulSoup(filehandle.read(), "html.parser")
priceSpan = soup.findAll("span", { "class" : "Fz(36px)" })
for k in priceSpan:
return(k.getText())
def getDayChange(tag):
source = "https://finance.yahoo.com/quote/"+tag
filehandle = urllib.request.urlopen(source)
soup = BeautifulSoup(filehandle.read(), "html.parser")
priceSpan = soup.findAll("span", { "class" : "Fw(500)" })
for k in priceSpan:
return(k.getText())
https://gist.github.com/Krewn/0e624d35c396df63262dd42d74f2beb6
答案 2 :(得分:0)
对css不太确定。但来自另一个SO答案的here is one。或者尝试xpath:
response.xpath('//input[@class="lst"]/@value').extract()
或者如果您只需要一个值:
response.xpath('//input[@class="lst"]/@value').extract_first()