ฉันได้รวมการสกัดเว็บวิทยาศาสตร์การเกษตรและ API ของ NOAA เพื่อสร้างเครื่องมือที่เพิ่มประสิทธิภาพค่าใช้จ่ายของอาหารสัตว์ตามข้อมูลด้านสิ่งแวดล้อม Ranching เป็นธุรกิจของขั้วหนา ๆ ที่สามารถทําหรือทําลายหนึ่งปีได้สองตัวแปรที่ใหญ่ที่สุดคือค่าใช้จ่ายในการให้อาหารและค่าใช้จ่ายในการดําเนินงานที่ใหญ่ที่สุดและสภาพอากาศคลื่นความร้อนอย่างฉับพลันสามารถส่งผลกระทบอย่างรุนแรงต่อสุขภาพและผลผลิตของสัตว์เลี้ยง ในฐานะนักพัฒนาที่มีทักษะในด้านการเกษตรฉันเห็นโอกาสในการเชื่อมต่อทั้งสองโดเมน และถ้าฉันสามารถสร้างเครื่องมือที่ไม่เพียง แต่ค้นหาฟีดที่มีค่าใช้จ่ายมากที่สุด แต่ยังเริ่มวางพื้นฐานสําหรับการปรับคําแนะนําตามข้อมูลด้านสิ่งแวดล้อมในโลกจริง ดังนั้นฉันได้สร้าง prototype มันเป็นคอลเลกชันของสคริปต์ Python ที่ทํางานเป็นผู้ช่วยโดยข้อมูลสําหรับ rancher มีสองโมดูลหลัก: a เพื่อเพิ่มค่าใช้จ่ายอาหารและ เพื่อดึงข้อมูลสภาพอากาศที่สําคัญ นี่คือวิธีการทํางาน Economic Engine Environmental Monitor โมดูล 1: เครื่องยนต์เศรษฐกิจ - การสกัดเพื่อประหยัด งานแรกคือการตอบคําถามพื้นฐาน: "เนื่องจากความต้องการทางโภชนาการของสัตว์เลี้ยงของฉันวิธีที่ถูกที่สุดในการให้อาหารพวกเขาคืออะไร" นี้ต้องใช้สองส่วน: เครื่องคํานวณทางวิทยาศาสตร์และเครื่องสกรูเว็บ ส่วนหนึ่ง A: การแปลวิทยาศาสตร์การเกษตรไปยัง Python ครั้งแรกฉันจําเป็นต้องคํานวณ "Dry Matter Intake" (DMI) - การวัดทางวิทยาศาสตร์ของปริมาณอาหารที่ kravs ต้องการ นี่ไม่ใช่ตัวเลขที่เรียบง่าย มันขึ้นอยู่กับน้ําหนักของวัวขั้นตอนของชีวิต (ให้นมบุตรการเจริญเติบโตตั้งครรภ์) การผลิตนมและอื่น ๆ ฉันพบสูตรที่ได้รับการตรวจสอบโดยคู่ค้าและแปลโดยตรงไปยัง Python cows_2.py - A Glimpse into the DMI Formulas # Formula for lactating cow DMI, based on scientific papers dmi_lac = ((3.7 + int(lac_par) * 5.7) + .305 * 624 + .022 * int(lac_weght) + \ (-.689 - 1.87 * int(lac_par)) * 3) * \ (1 - (2.12 + int(lac_par) * .136)**(-.053*int(lac_day))) # Total feed needed is the DMI multiplied by the number of cows and days all_feed_needed = (dmi_lac_needed + dmi_grow_needed + final_preg) * int(days_of_feed) สคริปต์นี้ถามผู้ใช้รายละเอียดเกี่ยวกับกลุ่มของพวกเขาและคํานวณปอนด์ทั้งหมดของอาหารที่จําเป็น ตอนนี้ฉันมี ต่อไปฉันต้องการ . ความต้องการ การจัดหา ส่วนหนึ่ง B: Web Scraper สําหรับราคาในเวลาจริง เปลี่ยนราคาฟีด วิธีเดียวที่จะได้รับข้อมูลปัจจุบันคือไปที่แหล่งที่มา ฉันเขียนเว็บสกรูโดยใช้คําขอและ BeautifulSoup เพื่อดึงชื่อผลิตภัณฑ์และราคาโดยตรงจากเว็บไซต์ของร้านอาหารในท้องถิ่น cow_save_scrape.py - The Scraper Logic import requests from bs4 import BeautifulSoup as soup from urllib.request import Request, urlopen websiteurl = 'https://shop.berendbros.com/departments/calf-|70|P35|P351.html' req = Request(websiteurl, headers={"User-Agent": 'Mozilla/5.0'}) webpage = urlopen(req).read() soups = soup(webpage,'html.parser') calf_name = [] calf_price = [] for link in soups.find_all('div', class_='card-body'): for product in link.find_all('div', class_='product_link'): calf_name.append(product.text) for price in link.find_all('div', class_='product_price'): # Clean the price string (e.g., "$24.99\n" -> 24.99) price_text = price.text.strip().strip('$') calf_price.append(float(price_text)) สคริปต์คํานวณค่าใช้จ่ายทั้งหมดเพื่อตอบสนอง DMI ของสัตว์เลี้ยงสําหรับแต่ละผลิตภัณฑ์อาหารสัตว์แล้วจัดประเภทรายการเพื่อหาตัวเลือกที่ถูกที่สุดและราคาแพงที่สุด สิ่งนี้ให้ข้อมูลทางการเงินทันทีและสามารถดําเนินการได้ โมดูล 2: The Environmental Monitor - Tapping ใน NOAA API ค่าใช้จ่ายของอาหารสัตว์เป็นเพียงครึ่งหนึ่งของสม่ําเสมอ ความเครียดของสิ่งแวดล้อมโดยเฉพาะอย่างยิ่งความร้อนมีผลกระทบอย่างมากต่อสัตว์เลี้ยง ห้าที่ทุกข์ทรมานจากความเครียดของความร้อนจะกินน้อยลงผลิตนมน้อยลงและมีความอุดมสมบูรณ์ต่ํากว่า เพื่อคํานวณข้อมูลนี้ฉันต้องการข้อมูล ฉันมาถึงรัฐบาลมหาสมุทรและภูมิอากาศแห่งชาติ (NOAA) ซึ่งมี API ที่ยอดเยี่ยมและฟรีสําหรับข้อมูลสภาพอากาศในปัจจุบันและประวัติศาสตร์จากหลายพันสถานี สคริปต์ของฉัน weather_1.py ถูกออกแบบมาเพื่อดึงจุดข้อมูลที่สําคัญสําหรับรายการสถานีสภาพอากาศเฉพาะในพื้นที่ที่น่าสนใจของฉัน (College Station, TX) weather_1.py - Fetching Key Climate Data import requests import json token = 'YOUR_NOAA_API_TOKEN' # Get this from the NOAA website base_url = 'https://www.ncei.noaa.gov/cdo-web/api/v2/data' start_date = '2024-04-01' end_date = '2024-04-03' # List of data types we want to fetch data_types = [ 'TMAX', # Maximum Temperature 'TMIN', # Minimum Temperature 'RH_AVG', # Average Relative Humidity 'WIND_SPEED_AVG', ] for station_id in us1tx_codes: print(f"--- Processing station: {station_id} ---") params = { 'datasetid': 'USCRNS', # A specific, high-quality dataset 'stationid': f'USCRNS:{station_id}', 'startdate': start_date, 'enddate': end_date, 'limit': 1000, 'datatypeid': data_types } # ... make the requests.get() call ... สคริปต์จะสอบถาม API สําหรับแต่ละสถานีและบันทึกผลลัพธ์ลงในไฟล์ JSON เพื่อสร้างฐานข้อมูลท้องถิ่นของสภาพแวดล้อมล่าสุด ขั้นตอนต่อไป: เชื่อมต่อจุด ขณะนี้โมดูลทั้งสองโมดูลจะแยกออก แต่พลังงานที่อยู่ในการเชื่อมต่อพวกเขา การพัฒนาต่อไปของโครงการนี้คือการใช้ข้อมูลสภาพอากาศเป็นข้อมูลป้อนแบบไดนามิกสําหรับเครื่องคํานวณ DMI คุณสามารถคํานวณ จากข้อมูล NOAA – เมตรมาตรฐานสําหรับการวัดความตึงเครียดความร้อนในสัตว์ ในขณะที่ THI เพิ่มขึ้นเหนือขอบเขตบางอย่าง (ประมาณ 72 สําหรับสัตว์เลี้ยงนม) DMI เริ่มลดลง Temperature-Humidity Index (THI) รุ่นต่อไปของสูตร DMI จะดูบางอย่างเช่นนี้: adjusted_dmi = calculated_dmi * get_heat_stress_factor(THI) สิ่งนี้จะช่วยให้เครื่องมือทําคําแนะนําที่ชาญฉลาดและเป็นจริงมากขึ้น ตัวอย่างเช่นมันสามารถให้คําปรึกษาแก่นักเพาะปลูกว่าในช่วงคลื่นความร้อนที่คาดการณ์ไว้การบริโภคของหมูของพวกเขาอาจลดลง 10%, ช่วยให้พวกเขาสามารถปรับการซื้ออาหารและหลีกเลี่ยงการเสียหาย สิ่งที่ฉันได้เรียนรู้ API สาธารณะเป็นเหมืองแร่ทอง: หน่วยงานของรัฐบาลเช่น NOAA ให้ข้อมูลที่มีคุณภาพสูงฟรีเป็นจํานวนมาก มันเป็นทรัพยากรที่ใช้น้อยมากสําหรับการสร้างแอพพลิเคชันที่ใช้งานได้ Web Scraping เป็น Superpower: สําหรับข้อมูลทางเศรษฐกิจที่ไม่สามารถใช้ได้ผ่าน API สคริปต์ Python ง่ายสามารถเปลี่ยนเว็บไซต์เป็นแหล่งข้อมูลแบบโครงสร้างได้ แต่โดยการรวมข้อมูลทางเศรษฐกิจ (ราคาอาหาร) กับข้อมูลด้านสิ่งแวดล้อม (สภาพอากาศ) คุณจะสร้างเครื่องมือที่มีประสิทธิภาพมากขึ้นและใกล้เคียงกับวิธีที่โลกจริงทํางานจริง โครงการนี้เป็นจุดเริ่มต้น แต่ก็แสดงให้เห็นถึงศักยภาพที่ยิ่งใหญ่สําหรับนักพัฒนาในการสร้างเครื่องมือที่นําวิทยาศาสตร์ข้อมูลและระบบอัตโนมัติไปสู่อุตสาหกรรมแบบดั้งเดิมสร้างมูลค่าจริงและแก้ปัญหาที่สัมผัสได้