美文网首页Python爬虫作业
Python青苔计划(九)数据写入csv(受阻)

Python青苔计划(九)数据写入csv(受阻)

作者: 请万万喝水 | 来源:发表于2017-05-14 00:37 被阅读0次
    青苔计划

    此文只为打卡

    高能预警,前方戾气严重

    爬虫作业区两极分化,1组想要找到可参照的学习例子少之又少,因为2组都跑到scrapy了(手动无奈)。网络和书籍并不能详细解说,这也是小分队的瓶颈期吧!该放弃的已经放弃了,在前面的人已经走远了,欲哭无泪的赶脚

    csv文件的写入,我搞了一天也没有完全弄明白

    import requests
    from bs4 import BeautifulSoup
    import csv
    a=[]
    def get_inf(url):
        html=requests.get(url)
        soup=BeautifulSoup(html.text,"lxml")
        title=soup.find_all("div",{"class":"content"})
        for one in title:
            a.append(one.get_text())
    
    
    urls=("http://www.qiushibaike.com/8hr/page/{}/?s=4979871".format(str(i))for i in range(1,2))
    for url in urls:
        get_inf(url)
    
    #print(a)
    import csv
    with open("D:/test.csv","w",newline="") as datacsv:
         #dialect为打开csv文件的方式,默认是excel,delimiter="\t"参数指写入的时候的分隔符
         csvwriter = csv.writer(datacsv,dialect = ("excel"))
         #csv文件插入一行数据,把下面列表中的每一项放入一个单元格(可以用循环插入多行)
         csvwriter.writerow(a)
    

    尴尬的是数据分布在同一行,我想实现的是分布在同一列###

    image.png

    修改代码:下方使用循环

    with open("E:/text.csv","w",newline="") as datacsv:
         #dialect为打开csv文件的方式,默认是excel,delimiter="\t"参数指写入的时候的分隔符
         csvwriter = csv.writer(datacsv,dialect = ("excel"))
         #csv文件插入一行数据,把下面列表中的每一项放入一个单元格(可以用循环插入多行)
         csvwriter.writerow(['content'])
         for one in a:
            csvwriter.writerow(one)
    

    然后出现了锤子的大爆炸,每一个词都分开了


    image.png

    此时只想哭!先标记下,明天继续分析

    相关文章

      网友评论

        本文标题:Python青苔计划(九)数据写入csv(受阻)

        本文链接:https://www.haomeiwen.com/subject/zvaxxxtx.html