python把第x列數據寫入第x個文件
問題描述
Python爬蟲一共需要爬取65頁數據,每頁數據的列數不確定。現在我能把每一列的數據抓下來,但是因為列數不確定,寫入的文件名就不能確定。問題在于怎么才能把第x列數據寫入第x個文件。也就是如何才能動態選擇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=)
網頁的結構類如下,每個tr標簽即為一列,具體要抓取的數據位于每個td標簽內
<tr> <td>...</td> <td>...</td> <td>...</td> <td>...</td></tr><tr> <td>...</td> <td>...</td> <td>...</td> <td>...</td></tr>
問題解答
回答1:先不要定義好open文件對象,可以根據列數打開相應的文件操作
with open(’列數.txt’, ’a’) as f: f.write(’內容’)
相關文章:
1. mysql優化 - 關于mysql分區2. php laravel框架模型作用域3. vue.js - vue 打包后 nginx 服務端API請求跨域問題無法解決。4. node.js - 在vuejs-templates/webpack中dev-server.js里為什么要exports readyPromise?5. java - Atom中文問題6. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應7. objective-c - iOS開發支付寶和微信支付完成為什么跳轉到了之前開發的一個app?8. javascript - 為什么這個點擊事件需要點擊兩次才有效果9. html5 - 如何實現帶陰影的不規則容器?10. javascript - ionic2 input autofocus 電腦成功,iOS手機鍵盤不彈出
