我已經創建了下面的代碼在不同行的多個頁面表:存儲和保存數據從
import requests
import pandas as pd
from bs4 import BeautifulSoup
records = []
for factoryId in range(3995, 4000):
url = "http://www.modon.gov.sa/ar/IndustrialCities/Pages/factory.aspx?
factoryId=" + str(factoryId)
r = requests.get(url)
content = r.text
soup = BeautifulSoup(content, "html.parser")
results = soup.find('table', attrs={'class': 'ModonInfoTable'})
for tr in results.find_all('tr'):
tds = tr.find_all('td')[1].text
records.append(tds)
print(records)
爲factoryId 3995所需的輸出,3996:
value1, value2, value3, value4, value5, value6
value1, value2, value3, value4, value5, value6
我的問題是試圖循環通過表,從第2列(左側列)收集逗號分隔值,然後添加換行符,然後在下一頁中刮取下一條記錄。
目前,我將所有值附加到列表中,但無法用換行符分隔。
我嘗試過使用numpy,並使用'\n'.join(records)
- 兩者都無法獲得理想的效果。
最後我會將所有使用熊貓的值導出到CSV - 這可以很容易地完成。
現在唯一的問題是循環記錄,並正確存儲數據。
@coder - 感謝您的評論 - factoryId + = 1已刪除。 也將期望輸出的樣本添加到問題中。 謝謝 – BeginnerScraper
答案很簡單,即使是發佈它,只需在for循環外添加'records.append('\ n')',然後在拼寫完'print''.join(records)'後即可。這應該工作,我想... – coder