荆笛 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会有重复。修改这一行获取全是字符串的列表

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

报告相同问题?

悬赏问题

  • ¥20 matlab计算中误差
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊