作者brightsu (渣)
看板Python
标题Re: [问题] python 将爬出来的资料汇出至档案
时间Tue Apr 12 12:15:36 2016
感谢大家的教学,後来小弟修正了一下改成如下
http://pastie.org/10794298
但是发现汇出来的CVS的分隔符号变成每一个字元出现一次
後来我试着单纯用
ls = (item.select('.pName')[0].text)
汇出来却变成一个字元换一行
请问我的参数是不是哪边下错了
非常感谢各位前辈的赐教
※ 引述《brightsu (渣)》之铭言:
: 大家好,小弟本身没有什麽程式背景
: 最近开始接触到了 Python 但是遇到了一些问题想请教一下大家
: 小弟按照着教学把网路上要得资讯爬下来
: print 也有资料出来
: 但是希望可以把print 出来的资料输出成 txt or csv
: 但是一直无法成功,想请教一下前辈是哪边的逻辑有问题
: import requests
: from bs4 import BeautifulSoup
: res = requests.get("http://www.yodobashi.com/%E3%82%B9%E3%83%81%E3%83%BC%E3%83%A0%E3%82%AA%E3%83%BC%E3%83%96%E3%83%B3%E3%83%AC%E3%83%B3%E3%82%B8/ct/6567_500000000000000211/?count=48&discontinued=false&disptyp=01&oword=Hitachi&page=1&searchtarget=prodname&sorttyp=COINCIDENCE_RANKING&ginput=Hitachi")
: soup = BeautifulSoup(res.text)
: for item in soup.select('.pListBlock'):
: f = open('A.txt', 'w', encoding = 'UTF-8')
: f.write (item.select('.pName')[0].text,item.select('.red')[0].text)
: f.close ()
: requests.get的缩址 http://goo.gl/PS3c4K
: 感谢大家 @@
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 202.39.219.4
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1460434539.A.074.html
1F:推 Sunal: w.writerow (ls) 04/12 12:51
2F:→ Sunal: 你多一个s 04/12 12:51
阿...真的,抱歉小弟还是个初学着没注意到这一点
感谢前辈的提醒 :)
3F:推 Sunal: w = csv.writer(f, delimiter=';') 可以移到for loop外 04/12 13:10
好的,小弟做个修正,感谢
另外请教一下 writerows 跟 writerow 有什麽差异性??
因为网路上的教学给的是 writerows 可是使用之後就如我叙述的那样子
不知道这两个之间的差异性在哪??
※ 编辑: brightsu (202.39.219.4), 04/12/2016 13:36:03
4F:推 Sunal: 你如果要存成CSV的ls是长这样[[A,B,C],[A,B,C]]就可以在for 04/12 13:49
5F:→ Sunal: loop外用w.writerows (ls) 一次写入 04/12 13:49
6F:推 Sunal: 因为字串也可迭代 所以你的ls=('ABC','ABC') 写入就会变成 04/12 13:56
7F:→ Sunal: 每个字元分隔 以上...小弟也是新手 有错请指证 04/12 13:57
8F:→ uranusjr: 上面说得没错 04/12 14:06
感谢您的解说 :)
※ 编辑: brightsu (125.227.175.246), 04/12/2016 15:15:35