擅长:python、mysql、java
<p>每个<code>get*</code>函数都使用一个全局变量<code>soup</code>,该变量在任何地方都没有正确设置。即使是这样,也不是一个好办法。将<code>soup</code>改为函数参数,例如:</p>
<pre><code>def getRoom(soup):
for theRoom in soup.findAll('div', class_="featured-item-inner"):
for h5 in theRoom.findAll('h5'):
print(h5.text)
for soup in soups():
getPropNames(soup)
getPrice(soup)
getRoom(soup)
</code></pre>
<p>第二,你应该从<code>soup()</code>而不是{<cd6>}来做{<cd4>},把它变成一个生成器。否则,您需要返回<code>BeautifulSoup</code>对象的列表。在</p>
^{pr2}$
<p>我还建议使用XPath或CSS选择器来提取HTML元素:<a href="https://stackoverflow.com/a/11466033/2997179">https://stackoverflow.com/a/11466033/2997179</a>。在</p>