m0_59993338 2022-10-19 11:38 采纳率: 100%
浏览 37
已结题

怎么把数据保存到csv

from pyquery import PyQuery as pq
import time
from selenium import webdriver
url = 'https://list.jd.com/list.html?cat=9987%2C653%2C655&enc=utf-8'
bw = webdriver.Chrome()
def jdPhone_spider(url,beginPage,endPage):
    for page in range(beginPage,endPage):
        pn = page*2-1
        print("正在抓取第"+str(page)+"页")
        fullurl = url +"&page=" +str(pn)
        time.sleep(5)
        bw.get(fullurl)
        html = bw.page_source
        doc = pq(html)
        # with open('jdPhone.csv', 'w', newline='') as f:
        #     writer = csv.writer(f)
        #     writer.writerow(['品牌', 'CPU型号', '机身内存', '屏幕材质', '机身颜色', '尺寸', '像素','价格'])
        infolist = doc('.p-name.p-name-type-3').items()
        for item in infolist:
            # 品牌
            brand = item('em').text().split(' ')[0]
            print(brand)
            xinghao = item('span .attr:first-child').text()
            print(xinghao)
            neicun = item('span .attr:nth-child(2)').text()
            print(neicun)
            caizhi = item('span .attr:nth-child(3)').text()
            print(caizhi)
            color = item('span .attr:nth-child(4)').text()
            print(color)
            size = item('span .attr:nth-child(5)').text()
            print(size)
            xiangsu = item('span .attr:last-child').text()
            print(xiangsu)
        #     list1 = []
        #     for i in item('b').items():
       
       # bw.close()
jdPhone_spider(url,beginPage=1,endPage=3)
  • 写回答

2条回答 默认 最新

  • honestman_ 2022-10-19 11:49
    关注

    csv模块就可以。举个例子:

    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    # 导入CSV安装包
    import csv
    # 1. 创建文件对象
    f = open('文件名.csv','w',encoding='utf-8')
    #或者:
    with open('A.csv', 'a', encoding='utf-8', newline='') as f:
    # 2. 基于文件对象构建 csv写入对象
        csv_writer = csv.writer(f)
    # 3. 构建列表头
        csv_writer.writerow(["姓名","年龄","性别"])
    # 4. 写入csv文件内容
        csv_writer.writerow(["l",'18','男'])
        csv_writer.writerow(["c",'20','男'])
        csv_writer.writerow(["w",'22','女'])
    
    # 5. 关闭文件
    f.close()  # with方法不需要
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 修改了问题 10月19日
  • 修改了问题 10月19日
  • 展开全部

悬赏问题

  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。
  • ¥20 CST怎么把天线放在座椅环境中并仿真
  • ¥15 任务A:大数据平台搭建(容器环境)怎么做呢?