海蓝色。 2022-10-19 14:53 采纳率: 89.7%
浏览 38
已结题

有关Python爬虫的问题

在运行完之后,结果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)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 创建了问题 10月19日

悬赏问题

  • ¥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 如何实现统一的请求异常信息提示?