荆笛 2021-06-21 18:39 采纳率: 33.3%
浏览 83
已采纳

求问为啥导出的csv文件,网名那一列为什么数据重复

#主函数
import requests
from bs4 import BeautifulSoup
import pandas as pd
import openpyxl
#定义存储变量
mingzi=[]
nianling=[]
diqu=[]
hunyin=[]
shengao=[]
jieshao=[]
#获取网页源代码的函数
for i in range(75):
    url='http://www.hongniang.com/index/search?sort=0&wh=0&sex=0&starage=1,2,3,4&province=%E6%B5%99%E6%B1%9F&city=0&marriage=0&edu=0&income=0&height=0&pro=0&house=0&child=0&xz=0&sx=0&mz=0&hometownprovince=0'+str(i)
    request=requests.get(url)
    html=request.text
#解析源代码,提取信息
    soup=BeautifulSoup(html,'html.parser')
    for info in soup.find_all('li',class_='pin'):
        mingzi.append(info.find_all('div',class_='name')[0].text.replace('\n','')[0:])
        nianling.append(info.find_all('span')[1].text)
        diqu.append(info.find_all('span')[2].text)
        hunyin.append(info.find_all('span')[3].text)
        shengao.append(info.find_all('span')[4].text)
        jieshao.append(info.find_all('div',class_='db')[0].text.replace('\t','').replace('\r','').replace('\n','').replace(' ','')[5:])
pd.DataFrame({'网名':mingzi,'年龄':nianling,'地区':diqu,'婚姻状况':hunyin,'身高':shengao,'介绍':jieshao}) 
data=pd.DataFrame({'网名':mingzi,'年龄':nianling,'地区':diqu,'婚姻状况':hunyin,'身高':shengao,'介绍':jieshao})
df = pd.DataFrame(data)
data.to_csv('爬虫数据.csv',encoding='utf-8',index=False)

  • 写回答

1条回答 默认 最新

  • CSDN专家-HGJ 2021-06-21 18:44
    关注

    mingzi.append(info.find_all('div',class_='name')[0].text.replace('\n','')[0:])这行你得到的数据是列表嵌套,与其他的不一样,所以在dataframe会有重复。修改这一行获取全是字符串的列表

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 qgcomp混合物线性模型分析的代码出现错误:Model aliasing occurred
  • ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥15 小红薯封设备能解决的来
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答
  • ¥20 在本地部署CHATRWKV时遇到了AttributeError: 'str' object has no attribute 'requires_grad'
  • ¥15 vue+element项目中多tag时,切换Tab时iframe套第三方html页面需要实现不刷新