#主函数
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)
求问为啥导出的csv文件,网名那一列为什么数据重复
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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页面需要实现不刷新