Python爬蟲入門 | 6 將爬回來的資料存到本地
1.用Python語句儲存資料
寫檔案時,我們主要用到 with open() 語句:
with open(name,mode,encoding) as file:
file.write()
# 注意,with open() 後面的語句有一個縮排
name:包含檔名稱的字串,比如:‘xiaozhu.txt’;
mode:決定了開啟檔案的模式,只讀/寫入/追加等;
encoding:表示我們要寫入資料的編碼,一般為 utf-8 或者 gbk ;
file:表示我們在程式碼中對檔案的命名。
用我們前面爬的小豬的例子來看一下,實際是什麼樣的:
from lxml import etree
import requests
import time
with open('/Users/mac/Desktop/xzzf.txt','w',encoding='utf-8') as f:
for a in range(1,6):
url = 'http://cd.xiaozhu.com/search-duanzufang-p{}-0/'.format(a)
data = requests.get(url).text
s=etree.HTML(data)
file=s.xpath('//*[@id="page_list"]/ul/li' )
time.sleep(3)
for div in file:
title=div.xpath("./div[2]/div/a/span/text()")[0]
price=div.xpath("./div[2]/span[1]/i/text()")[0]
scrible=div.xpath("./div[2]/div/em/text()")[0].strip()
pic=div.xpath("./a/img/@lazy_src")[0]
f.write("{},{},{},{}\n" .format(title,price,scrible,pic))
將寫入的檔名 xzzf.txt,如果沒有將自動建立。
/Users/mac/Desktop/xzzf.txt
在前面加了一個桌面的路徑,它將存在桌面,如果不加路徑,它將存在你當前工作目錄中。
w:只寫的模式,如果沒有檔案將自動建立;
encoding=’utf-8’:指定寫入檔案的編碼為:utf-8,一般指定utf-8即可;
f.write("{} {} {} {}\n".format(title,price,scrible,pic))
#將 title,price,scrible,pic 的值寫入檔案
來看一下存下來的資料是怎樣的:
如果你沒有指定檔案路徑,怎麼找寫在本地的檔案呢?給你兩種方法:
- 在 win10 中開啟小娜(cortana),搜尋你的檔名即可。
- 推薦軟體“everything”,查詢檔案更方便快捷。
這個軟體非常小,百度很容易找到,但確實是神器用了你會回來感謝我的~
所以還是建議你在寫程式碼的時候,老老實實在檔名前面加上你想存放的路徑。什麼,你連路徑怎麼寫都不知道?好吧,比如我想把檔案存在桌面,那麼怎麼檢視路徑?
隨便找一個文件,比如桌面的文件, 右鍵 >“屬性”,“位置”後面的資訊,就是該文件所在的路徑了。
2.檔案存為CSV格式
當然,你也可以將檔案存為 .csv 格式,在 with open() 語句後更改檔案字尾即可。
from lxml import etree
import requests
import time
with open('/Users/mac/Desktop/xiaozhu.csv','w',encoding='utf-8') as f:
for a in range(1,6):
url = 'http://cd.xiaozhu.com/search-duanzufang-p{}-0/'.format(a)
data = requests.get(url).text
s=etree.HTML(data)
file=s.xpath('//*[@id="page_list"]/ul/li')
time.sleep(3)
for div in file:
title=div.xpath("./div[2]/div/a/span/text()")[0]
price=div.xpath("./div[2]/span[1]/i/text()")[0]
scrible=div.xpath("./div[2]/div/em/text()")[0].strip()
pic=div.xpath("./a/img/@lazy_src")[0]
f.write("{},{},{},{}\n".format(title,price,scrible,pic))
另外,需要注意的是:CSV 每個欄位之間要用逗號隔開,所以這裡把之前的空格改為了逗號。
CSV 檔案怎麼開啟?
一般情況下,用記事本就可以直接開啟,如果你直接用 Excel 開啟,很有肯能會出現亂碼,就像下面這樣:
Excel 開啟 CSV 出現亂碼怎麼辦?
- 在記事本中開啟檔案
- 另存為 – 選擇編碼為“ANSI”
再來看看之前的豆瓣TOP250圖書寫入檔案:
from lxml import etree
import requests
import time
with open('/Users/mac/Desktop/top250.csv','w',encoding='utf-8') as f:
for a in range(10):
url = 'https://book.douban.com/top250?start={}'.format(a*25)
data = requests.get(url).text
s=etree.HTML(data)
file=s.xpath('//*[@id="content"]/div/div[1]/div/table')
time.sleep(3)
for div in file:
title = div.xpath("./tr/td[2]/div[1]/a/@title")[0]
href = div.xpath("./tr/td[2]/div[1]/a/@href")[0]
score=div.xpath("./tr/td[2]/div[2]/span[2]/text()")[0]
num=div.xpath("./tr/td[2]/div[2]/span[3]/text()")[0].strip("(").strip().strip(")").strip()
scrible=div.xpath("./tr/td[2]/p[2]/span/text()")
if len(scrible) > 0:
f.write("{},{},{},{},{}\n".format(title,href,score,num,scrible[0]))
else:
f.write("{},{},{},{}\n".format(title,href,score,num))
最後存下來的資料是這樣的:
好了,這節課就到這裡!
白白~
如果你想有專業老師授課、有系統性知識、有實時線上答疑的老師的話,可以加入我們的課程《Python爬蟲(入門+進階)》。
相關推薦
Python爬蟲入門 | 6 將爬回來的資料存到本地
1.用Python語句儲存資料 寫檔案時,我們主要用到 with open() 語句: with open(name,mode,encoding) as file: file.write() # 注意,with open()
Python爬蟲入門 | 6 將爬回來的數據存到本地
文件的 href 存儲 有一個 快捷 pac lse tab play 1.用Python語句存儲數據寫文件時,我們主要用到 with open() 語句:with open(name,mode,encoding) as file: file.write() # 註
Python 爬蟲技巧1 | 將爬取網頁中的相對路徑轉換為絕對路徑
1.背景: 在爬取網頁中的過程中,我對目前爬蟲專案後端指令碼中拼接得到絕對路徑的方法很不滿意,今天很無意瞭解到在python3 的 urllib.parse模組對這個問題有著非常完善的解決策略,真的是上天有眼,感動! 2.urllib.parse模組 This module define
Python爬蟲入門 | 7 分類爬取豆瓣電影,解決動態載入問題
比如我們今天的案例,豆瓣電影分類頁面。根本沒有什麼翻頁,需要點選“載入更多”新的電影資訊,前面的黑科技瞬間被秒…… 又比如知乎關注的人列表頁面: 我複製了其中兩個人暱稱的 xpath: //*[@id="Popov
Python爬蟲入門——2. 5 爬取鬥破蒼穹並儲存到本地TXT
話不多說,上程式碼: #匯入requests庫 import requests #匯入 re 庫 #匯入時間模組 import time import re #定義請求頭,請求頭可以使爬蟲偽裝成瀏覽器 headers = {'User-Agent': '
一個月入門Python爬蟲學習,輕鬆爬取大規模資料
利用爬蟲我們可以獲取大量的價值資料,從而獲得感性認識中不能得到的資訊,這篇文章給大家帶來了一個月入門Python學習,爬蟲輕鬆爬取大規模資料,感興趣的朋友一起看看吧 資料獲取方式:Python技術學習QQ群832339352 新增即可免費獲取! Python爬蟲為
Python爬蟲入門教程 3-100 美空網資料爬取
簡介 從今天開始,我們嘗試用2篇部落格的內容量,搞定一個網站叫做“美空網”網址為:http://www.moko.cc/, 這個網站我分析了一下,我們要爬取的圖片在 下面這個網址 http://www.moko.cc/post/1302075.html 然後在去分析一下,我需要找到一個圖片列表
Python爬蟲入門教程 15-100 石家莊政民互動資料爬取
寫在前面 今天,咱抓取一個網站,這個網站呢,涉及的內容就是 網友留言和回覆,特別簡單,但是網站是gov的。網址為 http://www.sjz.gov.cn/col/1490066682000/index.html 首先宣告,為了學習,絕無惡意抓取資訊,不管
Python爬蟲入門教程 6-100 蜂鳥網圖片爬取之一
enter 第一步 {} status .... 一個 網站分析 except rep 1. 簡介 國慶假日結束了,新的工作又開始了,今天我們繼續爬取一個網站,這個網站為 http://image.fengniao.com/ ,蜂鳥一個攝影大牛聚集的地方,本教程請用來學習,
Python爬蟲入門(爬取某網頁財經部分股票資料)
1:反思部分 之前上學期也是看過一點點爬蟲的東西,然後時間太久了也基本哪裡學的又還給哪裡了。然後這兩週的時間被班主任的要求下開始一點一點接觸爬蟲,開始的時候覺的很害怕。可能是因為我這個人的性格,對於未接觸過的事物總有一些莫名的恐懼感,而且之前做東西總習慣了旁邊
Python爬蟲入門——3.6 Selenium 爬取淘寶資訊
上一節我們介紹了Selenium工具的使用,本節我們就利用Selenium跟Chrome瀏覽器結合來爬取淘寶相關男士羽絨服商品的資訊,當然你可以用相同的方法來爬取淘寶其他商品的資訊。我們要爬取羽絨服的價格、圖片連線、賣家、賣家地址、收貨人數等資訊,並將其儲存在csv中 fr
Python爬蟲學習6:scrapy入門(一)爬取汽車評論並儲存到csv檔案
一、scrapy 安裝:可直接使用Anaconda Navigator安裝, 也可使用pip install scrapy安裝二、建立scrapy 爬蟲專案:語句格式為 scrapy startproject project_name生成的爬蟲專案目錄如下,其中spiders
Python爬蟲之利用BeautifulSoup爬取豆瓣小說(三)——將小說信息寫入文件
設置 one 行為 blog 應該 += html uil rate 1 #-*-coding:utf-8-*- 2 import urllib2 3 from bs4 import BeautifulSoup 4 5 class dbxs: 6 7
6.Python爬蟲入門六之Cookie的使用
expires cookielib spa result hat 即使 card rec 其他 大家好哈,上一節我們研究了一下爬蟲的異常處理問題,那麽接下來我們一起來看一下Cookie的使用。 為什麽要使用Cookie呢? Cookie,指某些網站為了辨別用戶身份、進行se
Python爬蟲入門 | 爬取豆瓣電影信息
Python 編程語言 web開發這是一個適用於小白的Python爬蟲免費教學課程,只有7節,讓零基礎的你初步了解爬蟲,跟著課程內容能自己爬取資源。看著文章,打開電腦動手實踐,平均45分鐘就能學完一節,如果你願意,今天內你就可以邁入爬蟲的大門啦~好啦,正式開始我們的第二節課《爬取豆瓣電影信息》吧!啦啦哩啦啦,
Python爬蟲入門 | 4 爬取豆瓣TOP250圖書信息
Python 編程語言 Python爬蟲先來看看頁面長啥樣的:https://book.douban.com/top250 我們將要爬取哪些信息:書名、鏈接、評分、一句話評價……1. 爬取單個信息我們先來嘗試爬取書名,利用之前的套路,還是先復制書名的xpath:得到第一本書《追風箏的人》的書名xpath如下:
Python爬蟲入門 | 5 爬取小豬短租租房信息
圖片 交流 ffffff 信息 jpg http 而已 基本 mat 小豬短租是一個租房網站,上面有很多優質的民宿出租信息,下面我們以成都地區的租房信息為例,來嘗試爬取這些數據。 小豬短租(成都)頁面:http://cd.xiaozhu.com/1.爬取租房標題 按照慣例,
Python 爬蟲入門(一)——爬取糗百
upa ext win comment 地址 odi 批量 爬蟲程序 article 爬取糗百內容 GitHub 代碼地址https://github.com/injetlee/Python/blob/master/qiubai_crawer.py 微信公眾號:【智能制造專
Python 爬蟲入門之爬取妹子圖
Python 爬蟲入門之爬取妹子圖 來源:李英傑 連結: https://segmentfault.com/a/1190000015798452 聽說你寫程式碼沒動力?本文就給你動力,爬取妹子圖。如果這也沒動力那就沒救了。 GitHub 地址:&
Python爬蟲入門實戰系列(一)--爬取網路小說並存放至txt檔案
執行平臺: Windows Python版本: Python3.x 一、庫檔案