大佬们 索引超出范围怎么弄啊
import requests
import parsel
import csv
import time
import random
for page in range(1,56 + 1):
choice = random.randint(0,20)
time.sleep(choice)
print('======真正爬取第{}页数据====='.format(page))
url='https://sz.fang.lianjia.com/loupan/pg{}/'.format(str(page))
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'}
r=requests.get(url=url,headers=headers)
print(r.status_code)
html=r.text
print(type(html))
select = parsel.Selector(html)
lis = select.css('.resblock-list.post_ulog_exposure_scroll.has-results')
for li in lis:
title = li.css('.resblock-name a::text').get()
quyu = li.css('.resblock-location span::text').getall()
quyu = '/'.join(quyu)
dizhi = li.css('.resblock-location a::text').getall()
mianji = li.css('.resblock-area span::text').get()
fangxing = li.css('.resblock-room span::text').getall()
fangxing = '/'.join(fangxing)
junjia = li.css('.main-price span::text').get() + '元/㎡'
zongjia = li.css('.resblock-price .second::text').get()
#title_url = li.css('.title a::attr(href)').get()
print(title,quyu,dizhi,fangxing,mianji,junjia,zongjia,sep='---')
f=open('链家深圳网.csv','w',encoding='utf-8')
f.writelines('名字'+','+'区域'+','+'地址'+','+'房型'+','+'建筑面积'+','+'均价'+','+'总价'+'\n')
for i in range(len(quyu)):
f.writelines(title+','+quyu+','+dizhi+','+fangxing+','+mianji+','+junjia+','+zongjia+'\n')
f.close()
代码是这样的Traceback (most recent call last):
File "C:/tfm/爬虫1.py", line 34, in <module>
f.writelines(title+','+quyu+','+dizhi+','+fangxing+','+mianji+','+junjia+','+zongjia+'\n')
IndexError: list index out of range
索引超出范围怎么解决啊 求求了新手不会搞 import requests
import parsel
import time
def main():
f = open('链家深圳网.csv', 'w', encoding='utf-8')# 打开文件,准备写入
f.write('名字,区域,地址,房型,建筑面积,均价,总价\n')
for page in range(1, 57):
time.sleep(0.3)# 不用随机时间,0.3就可以
print(f'======真正爬取第{page}页数据=====')
url = f'https://sz.fang.lianjia.com/loupan/pg{page}/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'}
r = requests.get(url=url, headers=headers)
select = parsel.Selector(r.text)
lis = select.css('.resblock-list.post_ulog_exposure_scroll.has-results')
for li in lis:# 遍历lis,也就是说li只是一个楼盘的信息,所以以下这些变量就不用再循环了,只需要逐个写入到文件中。
title = li.css('.resblock-name a::text').get()
quyu = li.css('.resblock-location span::text').getall()
quyu = '/'.join(quyu)
dizhi = li.css('.resblock-location a::text').get()
mianji = li.css('.resblock-area span::text').get()
fangxing = li.css('.resblock-room span::text').getall()
fangxing = '/'.join(fangxing)
junjia = li.css('.main-price span::text').get() + '元/㎡'
zongjia = li.css('.resblock-price .second::text').get()
f.write(f'{title},{quyu},{dizhi},{fangxing},{mianji},{junjia},{zongjia}\n')
f.close()
if __name__ == "__main__":
main()
suchocolate 发表于 2021-11-20 11:00
大佬 可以告诉我怎么把总价、建筑面积、房型的平均数写出来吗
平均价格我做出来了 ,我按同样的方式写总价的平均数,就报这个错误
pandas.core.base.DataError: No numeric types to aggregate
import pandas as pd
data=pd.read_csv('深圳新房1.csv')
#print(data)
#把区域分割只保留区域部分
data['区域'] = data['区域'].str.split('/').str
print(data['区域'])
#去掉元/㎡部分
data['平均价格'] = data['平均价格'].str.split('元').str
print(data['平均价格'])
#去掉前面的总价
data['总价'] = data['总价'].str.split('价').str[-1]
data['总价'] = data['总价'].str.split('(').str
#删除数据中的缺失值
data = data.dropna(subset=['总价'])
print(data['总价'])
#转换为floa数据类型
data['平均价格'] = data['平均价格'].astype(int)
#删除总价中的价格待定列
data = data.drop(data=='价格待定'].index)
#各区域房子的平均房价
data = data.groupby('区域')['建筑面积'].mean().round(2).reset_index()
data = data.sort_values('建筑面积',ascending=False)[:10]
#data = data.groupby('区域')['总价'].mean().round(2).reset_index()
#data = data.sort_values('总价',ascending=False)[:10]
print(data)
#print(data.shape) 我吃饱了. 发表于 2021-11-20 14:12
大佬 可以告诉我怎么把总价、建筑面积、房型的平均数写出来吗
平均价格我做出来了 ,我按同样的方式写总 ...
原始数据发一下,没有权限放你自己的网盘,然后分享链接出来。 suchocolate 发表于 2021-11-20 19:07
原始数据发一下,没有权限放你自己的网盘,然后分享链接出来。
https://pan.baidu.com/disk/main?from=oldversion&_at_=1637411240268#/index?category=4
就这个数据
suchocolate 发表于 2021-11-20 19:07
原始数据发一下,没有权限放你自己的网盘,然后分享链接出来。
就这个数据
https://pan.baidu.com/disk/main?from=oldversion&_at_=1637411240268#/index?category=4
页:
[1]