python爬虫存储csv_python 爬虫数据存入csv格式方法

python 爬虫数据存入csv格式方法

命令存储方式:

scrapy crawl ju -o ju.csv

第一种方法:

with open("F:/book_top250.csv","w") as f:

f.write("{},{},{},{},{}\n".format(book_name ,rating, rating_num,comment, book_link))

复制代码

第二种方法:

with open("F:/book_top250.csv","w",newline="") as f: ##如果不添加newline="",爬取信息会隔行显示

w = csv.writer(f)

w.writerow([book_name ,rating, rating_num,comment, book_link])

复制代码

方法一的代码:

import requests

from lxml import etree

import time

urls = ['https://book.douban.com/top250?start={}'.format(i * 25) for i in range(10)]

with open("F:/book_top250.csv","w") as f:

for url in urls:

r = requests.get(url)

selector = etree.HTML(r.text)

books = selector.xpath('//*[@id="content"]/div/div[1]/div/table/tr/td[2]')

for book in books:

book_name = book.xpath('./div[1]/a/@title')[0]

rating = book.xpath('./div[2]/span[2]/text()')[0]

rating_num = book.xpath('./div[2]/span[3]/text()')[0].strip('()\n ') #去除包含"(",")","\n"," "的首尾字符

try:

comment = book.xpath('./p[2]/span/text()')[0]

except:

comment = ""

book_link = book.xpath('./div[1]/a/@href')[0]

f.write("{},{},{},{},{}\n".format(book_name ,rating, rating_num,comment, book_link))

time.sleep(1)

复制代码

方法二的代码:

import requests

from lxml import etree

import time

import csv

urls = ['https://book.douban.com/top250?start={}'.format(i * 25) for i in range(10)]

with open("F:/book_top250.csv","w",newline='') as f:

for url in urls:

r = requests.get(url)

selector = etree.HTML(r.text)

books = selector.xpath('//*[@id="content"]/div/div[1]/div/table/tr/td[2]')

for book in books:

book_name = book.xpath('./div[1]/a/@title')[0]

rating = book.xpath('./div[2]/span[2]/text()')[0]

rating_num = book.xpath('./div[2]/span[3]/text()')[0].strip('()\n ') #去除包含"(",")","\n"," "的首尾字符

try:

comment = book.xpath('./p[2]/span/text()')[0]

except:

comment = ""

book_link = book.xpath('./div[1]/a/@href')[0]

w = csv.writer(f)

w.writerow([book_name ,rating, rating_num,comment, book_link])

time.sleep(1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值