python把第x列數(shù)據(jù)寫入第x個(gè)文件
問題描述
Python爬蟲一共需要爬取65頁數(shù)據(jù),每頁數(shù)據(jù)的列數(shù)不確定。現(xiàn)在我能把每一列的數(shù)據(jù)抓下來,但是因?yàn)榱袛?shù)不確定,寫入的文件名就不能確定。問題在于怎么才能把第x列數(shù)據(jù)寫入第x個(gè)文件。也就是如何才能動(dòng)態(tài)選擇file=的文件名。代碼如下:
f_1 = open(’fitment/1.txt’, ’a’)f_2 = open(’fitment/2.txt’, ’a’)f_3 = open(’fitment/3.txt’, ’a’)for i in range(66): pr = random.choice(proxy) url = ’https://*****’ + str(i) + ’****’ page_url = requests.get(url, headers=head, proxies=pr) page_get = page_url.text page_text = BeautifulSoup(page_get, ’lxml’) fitment_1 = page_text.find_all(’tr’, {’class’: ’fitment listRowEven’}) for each_tag_1 in fitment_1:td_text_1 = each_tag_1.find_all(’td’)for x in range(len(td_text_1)+1): print(td_text_1[x].string, file=)
網(wǎng)頁的結(jié)構(gòu)類如下,每個(gè)tr標(biāo)簽即為一列,具體要抓取的數(shù)據(jù)位于每個(gè)td標(biāo)簽內(nèi)
<tr> <td>...</td> <td>...</td> <td>...</td> <td>...</td></tr><tr> <td>...</td> <td>...</td> <td>...</td> <td>...</td></tr>
問題解答
回答1:先不要定義好open文件對(duì)象,可以根據(jù)列數(shù)打開相應(yīng)的文件操作
with open(’列數(shù).txt’, ’a’) as f: f.write(’內(nèi)容’)
相關(guān)文章:
1. mysql優(yōu)化 - 關(guān)于mysql分區(qū)2. javascript - 循環(huán)嵌套多個(gè)promise應(yīng)該如何實(shí)現(xiàn)?3. 前端 - IE9 css兼容問題4. css - 移動(dòng)端字體設(shè)置問題5. html5 - 如何實(shí)現(xiàn)帶陰影的不規(guī)則容器?6. vue.js - vue 打包后 nginx 服務(wù)端API請(qǐng)求跨域問題無法解決。7. javascript - ionic2 input autofocus 電腦成功,iOS手機(jī)鍵盤不彈出8. node.js - 在vuejs-templates/webpack中dev-server.js里為什么要exports readyPromise?9. css3 - rem布局下,用戶瀏覽器的最小字號(hào)是12px怎么辦?10. objective-c - iOS開發(fā)支付寶和微信支付完成為什么跳轉(zhuǎn)到了之前開發(fā)的一個(gè)app?
