在运行完之后,结果csv遇到篡位的问题,和无法获取多个页面的数据 。
2条回答 默认 最新
- CSDN专家-showbo 2022-10-19 15:01关注
示例入下
import time from selenium import webdriver from pyquery import PyQuery as pq import csv URL = "https://bj.ke.com/ershoufang/pg" bw = webdriver.Chrome() alldata=[['标题', '价格', '平米价格', '楼层', '修建时间', '户型', '面积', '朝向']] for page in range(3): new_url = URL + str(page) # 打开页面 bw.get(new_url) html = bw.page_source doc = pq(html) time.sleep(2) for item in doc('.info.clear').items(): pdoc =pq('<div>'+item.html()+'</div>') title=list(pdoc('.maidian-detail').items())[0].text() prize=list(pdoc('.totalPrice.totalPrice2').items())[0].text() avgprize=list(pdoc('.unitPrice').items())[0].text() address=list(pdoc('.positionInfo').items())[0].text() data = list(pdoc('.houseInfo').items())[0].text().split('|') if '建' not in data[1]:#没有修建时间,补充 data.insert(1,'') if '室' not in data[2]:#没有户型,补充 data.insert(2,'') if (len(data) == 4): data.append('') data.insert(0, title)#title已经是标题内容,不需要调用.text(),要不会出错,下面的价格同理 data.insert(1, prize)# data.insert(2, avgprize) alldata.append(data) #最后再一起写csv,而不是for循环中打开文件写,会覆盖内容 with open('bj.ke.com.csv','w',newline='')as f: writer = csv.writer(f) for data in alldata: writer.writerow(data)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程
- ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
- ¥15 关于smbclient 库的使用
- ¥15 微信小程序协议怎么写
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?