爆料网页数据采集技巧 如何采集网页数据( 二 )


第三张看起来很像我们所需要的表 。
接下来,我们开始创建必要的逻辑来提取并清理我们需要的细节 。
sports_table = parent_lst[2]complete_row = []for i in sports_table:rows = i.find_all('tr')print('n--------row--------n')print(rows)for row in rows:cells = row.find_all('td')print('n-------cells--------n')print(cells)if not cells:continuerank = cells[0].text.strip('n')page_name = cells[1].find('a').textsport = cells[2].find('a').textviews = cells[3].text.strip('n')print('n-------CLEAN--------n')print(rank)print(page_name)print(sport)print(views)complete_row.append([rank, page_name, sport, views])for i in complete_row:print(i)复制代码
分解一下:
sports_table = parent_lst[2]complete_row = []复制代码
下面我们从上面的列表中选择第三个元素 。这就是我们需要的表 。
接下来创建一个空列表,用于存储每行的详细信息 。在遍历这个表的时候,建立一个循环,遍历表中的每一行,并将其保存到 rows 变量中 。
for i in sports_table:rows = i.find_all('tr')print('n--------row--------n')print(rows)复制代码
for row in rows:cells = row.find_all('td')print('n-------cells--------n')print(cells)复制代码
建立了嵌套的循环 。遍历上一个循环中保存的每个行 。在遍历这些单元格时,我们将每个单元格保存在一个新的变量 。
if not cells:continue复制代码
这段简短的代码允许我们在从单元格中提取文本时,避免空单元格并防止发生错误 。
rank = cells[0].text.strip('n')page_name = cells[1].find('a').textsport = cells[2].find('a').textviews = cells[3].text.strip('n')复制代码
在此,我们将各种单元格清理为纯文本格式 。清除后的值保存在其列名下的变量中 。
print('n-------CLEAN--------n')print(rank)print(page_name)print(sport)print(views)complete_row.append([rank, page_name, sport, views])复制代码
【爆料网页数据采集技巧 如何采集网页数据】此处,我们向行列表添加这些值 。然后输出清理后的值 。
-------cells--------[<td>13</td>, <td style="text-align: left;"><a href="https://www.520longzhigu.com/wiki/Conor_McGregor" title="Conor McGregor">Conor McGregor</a></td>, <td><a href="https://www.520longzhigu.com/wiki/Mixed_martial_arts" title="Mixed martial arts">Mixed martial arts</a></td>, <td>43</td>]-------CLEAN--------13Conor McGregorMixed martial arts43复制代码
下面将其转换为数据结构:
headers = ['Rank', 'Name', 'Sport', 'Views Mil']df = pd.DataFrame(complete_row, columns=headers)df复制代码
现在你可以在机器学习项目中使用的 pandas 数据结构了 。你可以使用自己喜欢的库来拟合模型数据 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: