爬取的數據存入Excel表格html
分析要爬取的內容的網頁結構:前端
demo.py: import requests #requests是HTTP庫 import re from openpyxl import workbook # 寫入Excel表所用 from openpyxl import load_workbook # 讀取Excel表所用 from bs4 import BeautifulSoup as bs #bs:經過解析文檔爲用戶提供須要抓取的數據 import os import io import sys sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') #改變標準輸出的默認編碼 #咱們開始利用requests.get()來獲取網頁並利用bs4解析網頁: def getData(src): html = requests.get(src).content # requests.get(src)返回的是狀態碼<Response [200]>,加上.content以字節形式(二進制返回數據。 和前端同樣,分爲get post等 http://www.cnblogs.com/ranxf/p/7808537.html soup = bs(html,'lxml') # lxml解析器解析字節形式的數據,獲得完整的相似頁面的html代碼結構的數據 print(soup) global ws Name = [] Introductions = [] introductions = soup.find_all("a",class_="book-item-name") nameList = soup.find_all("a",class_="author") print (nameList) for name in nameList: print (name.text) Name.append(name.text) for introduction in introductions: Introductions.append(introduction.text) for i in range(len(Name)): ws.append([Name[i],Introductions[i]]) if __name__ == '__main__': # 讀取存在的Excel表測試 # wb = load_workbook('t est.xlsx') #加載存在的Excel表 # a_sheet = wb.get_sheet_by_name('Sheet1') #根據表名獲取表對象 # for row in a_sheet.rows: #遍歷輸出行數據 # for cell in row: #每行的 每個單元格 # print cell.value, # 建立Excel表並寫入數據 wb = workbook.Workbook() # 建立Excel對象 ws = wb.active # 獲取當前正在操做的表對象 # 往表中寫入標題行,以列表形式寫入! ws.append(['角色名字', '票數']) src = 'http://www.lrts.me/book/category/3058' getData(src) wb.save('qinshi.xlsx') # 存入全部信息後,保存爲filename.xlsx
執行:python demo.pypython
效果
生成一個qinshi.xlsx文件app