第十一次
一、簡單敘述爬蟲原理
整體邏輯 url請(qǐng)求----下載源碼(數(shù)據(jù))====解析====存儲(chǔ)數(shù)據(jù)(文件 數(shù)據(jù)庫)
1:發(fā)送url請(qǐng)求 常用的get post方法 對(duì)應(yīng)requests包請(qǐng)求url的方法,get post headers
2:網(wǎng)站服務(wù)器web程序接收請(qǐng)求 渲染數(shù)據(jù)到頁面 返回給請(qǐng)求對(duì)象數(shù)據(jù)
3:解析渲染后的頁面 獲取數(shù)據(jù) (谷歌瀏覽器常使用的一些用法 解析器的使用 Beautifulsoup4 Xpath json)
4:存儲(chǔ)文件(數(shù)據(jù)庫) 對(duì)應(yīng)的方法 編寫代碼
第十二次
一、定義一個(gè)類storeCsv
類的功能,對(duì)csv模塊進(jìn)行再次封裝,要求:
1、判斷您要?jiǎng)?chuàng)建的csv文件判斷文件是否存在,存在則給予提示(可以是輸出:文件已存在等語句)
2、將數(shù)據(jù)不換行寫入csv文件
3、數(shù)據(jù)包含:姓名 年齡 城市 地址 職業(yè) (數(shù)據(jù)自定義,至少寫五行)
示例:class storeCsv():
def 函數(shù)():
代碼
def 函數(shù)():
代碼
....
test = storeCsv()
.....
import os
import csv
class storeCsv():
def is_file(self,file_name):
if os.path.exists(file_name):
print('該文件已存在')
else:
csvfile = open(file_name,'w',encoding='utf-8')
writer = csv.writer(csvfile)
writer.writerow(['姓名','年齡','城市','地址','職位'])
csvfile.close()
def write_file(self,file_name,data):
csvfile = open(file_name, 'a',encoding='utf-8')
writer = csv.writer(csvfile)
writer.writerows(data)
csvfile.close()
if __name__ == '__main__':
test = storeCsv()
file_name = 'write_file.csv'
test.is_file(file_name)
data = [('張三','26',u'北京',u'北京胡同',u'要飯'),(u'李四','28',u'上海',u'外灘',u'乞丐')]
test.write_file(file_name,data)