Python 3.x 如何使用response.css在具有scrapy的类中获取元素
我试图从以下位置获取value=“3474636382675”:Python 3.x 如何使用response.css在具有scrapy的类中获取元素,python-3.x,web-scraping,scrapy,Python 3.x,Web Scraping,Scrapy,我试图从以下位置获取value=“3474636382675”: 我试过了 response.css(".lst >value").extract() 这一个有效,但我得到的一切回来,我只是需要的价值 response.css(".lst").extract() 我使用BeautifulSoup解析html。下面是一个从雅虎金融(yahoo finance)获取股票价格的例子 import urllib.request from bs4 import BeautifulSoup d
我试过了
response.css(".lst >value").extract()
这一个有效,但我得到的一切回来,我只是需要的价值
response.css(".lst").extract()
我使用BeautifulSoup解析html。下面是一个从雅虎金融(yahoo finance)获取股票价格的例子
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())
我使用beautiful soup解析html。下面是一个从雅虎金融(yahoo finance)获取股票价格的例子
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())
对css不太确定。但是从另一个答案来看。或者尝试xpath:
response.xpath('//input[@class="lst"]/@value').extract()
或者,如果您只需要一个值:
response.xpath('//input[@class="lst"]/@value').extract_first()
对css不太确定。但是从另一个答案来看。或者尝试xpath:
response.xpath('//input[@class="lst"]/@value').extract()
或者,如果您只需要一个值:
response.xpath('//input[@class="lst"]/@value').extract_first()
使用CSS,您可以选择所需的属性,如下所示:
response.css(".lst::attr(value)").extract()
您可以在Scrapy的中详细了解选择器,使用CSS选择所需的属性,如下所示:
response.css(".lst::attr(value)").extract()
您可以在Scrapy的中详细了解选择器,它与xpath一起工作,谢谢。但是你会如何使用response.css?在我看来是合法的。@rousback似乎其他人已经回答了你的问题。您也可以按照链接查看答案是否适用。它与xpath一起使用,谢谢。但是你会如何使用response.css?在我看来是合法的。@rousback似乎其他人已经回答了你的问题。你也可以点击链接,看看答案是否适合你。就这样。多谢了,就这样。谢谢