<p>让我们尝试使用常见的字符串操作方法来查找值:</p>
<pre><code>>>> line = '''<div class='entry qual-5 used-demoman slot-head bestprice custom' data-price='3280000' data-name="Kill-a-Watt Allbrero" data-quality="5" data-australium="normal" data-class="demoman" data-particle_effect="56" data-paint="" data-slot="cosmetic" data-consignment="consignment">'''
</code></pre>
<p>我们可以使用<a href="https://docs.python.org/3/library/stdtypes.html#str.index" rel="nofollow">^{<cd1>}</a>来查找字符串在字符串中的位置:</p>
<pre><code>>>> line.index('data-name')
87
</code></pre>
<p>现在我们知道我们需要开始为我们感兴趣的属性寻找索引<code>87</code>:</p>
<pre><code>>>> line[87:]
'data-name="Kill-a-Watt Allbrero" data-quality="5" data-australium="normal" data-class="demoman" data-particle_effect="56" data-paint="" data-slot="cosmetic" data-consignment="consignment">'
</code></pre>
<p>现在,我们也需要删除<code>data-name="</code>部分:</p>
<pre><code>>>> start = line.index('data-name') + len('data-name="')
>>> start
98
>>> line[start:]
'Kill-a-Watt Allbrero" data-quality="5" data-australium="normal" data-class="demoman" data-particle_effect="56" data-paint="" data-slot="cosmetic" data-consignment="consignment">'
</code></pre>
<p>现在,我们只需要找到右引号的索引,然后我们就可以提取属性值:</p>
<pre><code>>>> end = line.index('"', start)
>>> end
118
>>> line[start:end]
'Kill-a-Watt Allbrero'
</code></pre>
<p>然后我们有了我们的解决方案:</p>
<pre><code>start = line.index('data-name') + len('data-name="')
end = line.index('"', start)
print(line[start:end])
</code></pre>
<p>我们可以把它放在循环中:</p>
<pre><code>with open('itemlist.txt','r') as mfile, open('output.txt','a') as mfile2w
for line in mfile:
start = line.index('data-name') + len('data-name="')
end = line.index('"', start)
mfile2.write(line[start:end])
mfile2.write('\n')
</code></pre>