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)
python 爬虫数据存入csv格式方法的更多相关文章
- python 爬虫数据时间转换格式
		
from datetime import datetimea = '2018/9/18 10/10'print(datetime.strptime(a,'%Y/%m/%d %H/%M'))>&g ...
 - Python数据写入csv格式文件
		
(只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块. 废话不多说,直接写代码!该重要的内容都已经注释了, ...
 - Python 爬虫的代理 IP 设置方法汇总
		
本文转载自:Python 爬虫的代理 IP 设置方法汇总 https://www.makcyun.top/web_scraping_withpython15.html 需要学习的地方:如何在爬虫中使用 ...
 - Python爬虫beautifulsoup4常用的解析方法总结(新手必看)
		
今天小编就为大家分享一篇关于Python爬虫beautifulsoup4常用的解析方法总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧摘要 如何用beau ...
 - python爬虫+数据可视化项目(关注、持续更新)
		
python爬虫+数据可视化项目(一) 爬取目标:中国天气网(起始url:http://www.weather.com.cn/textFC/hb.shtml#) 爬取内容:全国实时温度最低的十个城市气 ...
 - [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)
		
转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...
 - 数组转xls格式的excel文件&数据转csv格式的excle
		
/** * 数组转xls格式的excel文件 * @param array $data 需要生成excel文件的数组 * @param string $filename 生成的excel文件名 * 示 ...
 - Python使用Scrapy框架爬取数据存入CSV文件(Python爬虫实战4)
		
1. Scrapy框架 Scrapy是python下实现爬虫功能的框架,能够将数据解析.数据处理.数据存储合为一体功能的爬虫框架. 2. Scrapy安装 1. 安装依赖包 yum install g ...
 - python爬虫#数据存储#JSON/CSV/MYSQL/MongoDB/
		
Json数据处理 JSON支持数据格式: 对象(字典).使用花括号. 数组(列表).使用方括号. 整形.浮点型.布尔类型还有null类型. 字符串类型(字符串必须要用双引号,不能用单引号). 多个数据 ...
 
随机推荐
- dsu on tree练习
			
dsu on tree主要是处理一些有根树子树询问的操作, 作用与点分治和线段树合并类似. 一般无根树询问所有树链信息的直接就点分了, 有根树的话一般用线段树合并或dsu on tree, 线段树合并 ...
 - React Router页面传值的三种方法
			
文章地址:https://blog.csdn.net/qq_23158083/article/details/68488831
 - leetcode-algorithms-22 Generate Parentheses
			
leetcode-algorithms-22 Generate Parentheses Given n pairs of parentheses, write a function to genera ...
 - P2756 飞行员配对方案问题
			
题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1名是外 ...
 - PostgreSQL查看表大小的命令
			
SELECT table_name, pg_size_pretty(table_size) AS table_size, pg_size_pretty(indexes_size) AS indexes ...
 - 解决Eureka Server不踢出已关停的节点的问题
			
eureka端: eureka.server.enable-self-preservation (设为false,关闭自我保护主要) eureka.server.eviction-interval-t ...
 - [洛谷 P1559] 运动员最佳匹配问题
			
题目描述 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的男运动员竞赛优势:Q[i][j]是女运动员i和男运动员j配合的女运动员竞赛优势 ...
 - Segments
			
Segments Given n segments in the two dimensional space, write a program, which determines if there e ...
 - NOSQL -- Mongodb的简单操作与使用(wins)
			
NOSQL -- Mongodb的简单操作与使用(wins) 启动mongodb: 1.首先启动服务 dos命令下:net start Mongndb 也可以查询服务,手动开启服务: 完成后: 2.启 ...
 - Java语言中的值传递与引用传递
			
Java应用程序中永远不会传递对象,而只会传递对象应用,因此,按对象引用传递. (1) Int作为参数传递时,对形参值得修改不会影响到实参: (2) StringBuffer作为参 ...