Python 如何在网页中获取特定值? 我在站点中有一些 s和其他东西,在DIVS 中间的特定行。 <input name="extWarrantyProds" type="hidden" value="23814298 ^ true"/> 我如何从这个代码中获取“值”部分,它在一个有其他东西的站点的中间?

Python 如何在网页中获取特定值? 我在站点中有一些 s和其他东西,在DIVS 中间的特定行。 <input name="extWarrantyProds" type="hidden" value="23814298 ^ true"/> 我如何从这个代码中获取“值”部分,它在一个有其他东西的站点的中间?,python,windows,urllib,Python,Windows,Urllib,我正在尝试使用urllib,但我甚至不知道从哪里开始=/如果您只需要这些,就不需要太花哨的东西。使用urllib下载页面,并使用re.findall()查找值 重新导入 导入URL库 url='1〕http://...' html=urllib.urlopen(url.read()) matches=re.findall('如果您只需要这些,就不需要太花哨的东西。使用urllib下载页面,并使用re.findall()查找值 重新导入 导入URL库 url='1〕http://...' html

我正在尝试使用urllib,但我甚至不知道从哪里开始=/

如果您只需要这些,就不需要太花哨的东西。使用
urllib
下载页面,并使用
re.findall()
查找值

重新导入
导入URL库
url='1〕http://...'
html=urllib.urlopen(url.read())

matches=re.findall('如果您只需要这些,就不需要太花哨的东西。使用
urllib
下载页面,并使用
re.findall()
查找值

重新导入
导入URL库
url='1〕http://...'
html=urllib.urlopen(url.read())

matches=re.findall('我能想到的最简单的方法:

import urllib

urlStr = "http://www..."

fileObj = urllib.urlopen(urlStr)

for line in fileObj:
    if ('<input name="extWarrantyProds"' in line):
        startIndex = line.find('value="') + 7
        endIndex = line.find('"',startIndex)
        print line[startIndex:endIndex]
导入urllib
urlStr=”http://www..."
fileObj=urllib.urlopen(urlStr)
对于fileObj中的行:

如果我能想到的最简单的方法是:

import urllib

urlStr = "http://www..."

fileObj = urllib.urlopen(urlStr)

for line in fileObj:
    if ('<input name="extWarrantyProds"' in line):
        startIndex = line.find('value="') + 7
        endIndex = line.find('"',startIndex)
        print line[startIndex:endIndex]
导入urllib
urlStr=”http://www..."
fileObj=urllib.urlopen(urlStr)
对于fileObj中的行:
如果('
将lxml.html导入为lh
html=“”
'''
#如果要从URL解析,请执行以下操作:
#tree=lh.parse('http://example.com')
tree=lh.fromstring(html)
print tree.xpath(//input[@name='extWarrantyProds']/@value”)
将lxml.html导入为lh
html=“”
'''
#如果要从URL解析,请执行以下操作:
#tree=lh.parse('http://example.com')
tree=lh.fromstring(html)
print tree.xpath(//input[@name='extWarrantyProds']/@value”)

您可以控制页面内容吗?您可以合理地保证页面内容不会发生太大的变化吗?如果可以,那么简单的模式匹配就可以了(请参见下面的答案),否则您需要进行“真实”匹配html解析。你能控制页面的内容吗?你能合理地保证它不会发生太大的变化吗?如果可以,那么简单的模式匹配就可以了(见下面的答案),否则你需要做“真实的”html parsing.regex+html=噩梦。+1表示使用正确的解析器。我还建议查看您是否计划养成这类习惯。regex+html=噩梦。+1表示使用正确的解析器。我还建议查看您是否计划养成这类习惯。
import lxml.html as lh

html = '''
<input name="extWarrantyProds" type="hidden" value="23814298 ^ true"/>
'''

# If you want to parse from a URL:
# tree = lh.parse('http://example.com')

tree = lh.fromstring(html)

print tree.xpath("//input[@name='extWarrantyProds']/@value")