python把第x列數(shù)據(jù)寫入第x個文件
問題描述
Python爬蟲一共需要爬取65頁數(shù)據(jù),每頁數(shù)據(jù)的列數(shù)不確定。現(xiàn)在我能把每一列的數(shù)據(jù)抓下來,但是因為列數(shù)不確定,寫入的文件名就不能確定。問題在于怎么才能把第x列數(shù)據(jù)寫入第x個文件。也就是如何才能動態(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)類如下,每個tr標簽即為一列,具體要抓取的數(shù)據(jù)位于每個td標簽內(nèi)
<tr> <td>...</td> <td>...</td> <td>...</td> <td>...</td></tr><tr> <td>...</td> <td>...</td> <td>...</td> <td>...</td></tr>
問題解答
回答1:先不要定義好open文件對象,可以根據(jù)列數(shù)打開相應(yīng)的文件操作
with open(’列數(shù).txt’, ’a’) as f: f.write(’內(nèi)容’)
相關(guān)文章:
1. docker不顯示端口映射呢?2. 關(guān)docker hub上有些鏡像的tag被標記““This image has vulnerabilities””3. macos - mac下docker如何設(shè)置代理4. MySQL數(shù)據(jù)庫中文亂碼的原因5. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?6. docker-compose 為何找不到配置文件?7. docker gitlab 如何git clone?8. mysql - 新浪微博中的關(guān)注功能是如何設(shè)計表結(jié)構(gòu)的?9. css - C#與java開發(fā)Windows程序哪個好?10. angular.js - 關(guān)于$apply()
