擅长:python、mysql、java
<p><code>detail_title</code>不包含可以放入数据帧中的内容:它是beautifulGroup“bs4”的列表。元素.标记“对象(请参见<code>type(detail_title[0])</code>提供的内容)。尝试以下操作:</p>
<p>第1步。提取列标题</p>
<pre><code>import pandas as pd
import requests
from bs4 import BeautifulSoup
url = 'https://www.remax.ca/ab/calgary-real-estate/720-37-st-nw-wp_id251536557-lst'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
detail_title = soup.find_all(class_='detail-title')
headings = [d.text for d in detail_title]
details_t = pd.DataFrame(columns = headings)
</code></pre>
<p>第二步。在html中向上一级,得到成对的详细名称和值。(细节名称是在步骤1中提取的名称)。编写一个helper函数来返回给定名称的值。在</p>
^{pr2}$
<p>这有点奇怪,如果你只是刮一页。我想你要做的是运行一次步骤1得到详细名称,然后在所有你想刮的页面上执行第2步。在</p>
<p>第三步。对于所刮取的每个页面,将找到的详细信息值附加到数据帧中。在</p>
<pre><code>details_t = details_t.append({deet:get_detail_value(deet, details) for deet in details_t.columns}, ignore_index = True)
</code></pre>