<prompt> Tengeneza programu ya kuchambua wavuti ya Python ambayo hutoa maelezo ya bidhaa kutoka kwa tovuti ya biashara ya mtandaoni, huhifadhi data katika hifadhidata ya PostgreSQL, na kutoa ripoti inayoonyesha bidhaa 10 bora zaidi za gharama kubwa katika kila aina.  <response>: Ili kuunda Python web scraper ambayo hutoa maelezo ya bidhaa kutoka kwa tovuti ya e-commerce, kuhifadhi data katika hifadhidata ya PostgreSQL, na kutoa ripoti inayoonyesha bidhaa 10 bora zaidi katika kila aina, unaweza kufuata hatua hizi:1. Weka maktaba muhimu2. Unda kitendakazi ili kufuta maelezo ya bidhaa3. Unganisha kwenye hifadhidata ya PostgreSQL4. Hifadhi data iliyofutwa kwenye hifadhidata5. Tengeneza ripoti na bidhaa 10 za bei ghali zaidi katika kila ainaHapa kuna sampuli ya nambari ya kazi hii: chatumaombi ya kuagizakutoka kwa bs4 agiza BeautifulSoupkuagiza psycopg2kutoka kwa jedwali la kuagiza Hatua ya 1: Sakinisha maktaba zinazohitajika Unahitaji kusakinisha beautifulsoup4, maombi, psycopg2, na tabulate kwa kutumia bomba: pip install beautifulsoup4 maombi psycopg2 tabulate Hatua ya 2: Unda kitendakazi ili kufuta habari ya bidhaadef scrape_productsurl: majibu requests.geturl supu BeautifulSoupresponse.text, html.parser bidhaa kwa bidhaa katika supu.find_alldiv, class_bidhaa-kipengee: title item.findh2, class_bidhaa-title.text.strip price floatitem.findspan, class_price.text.strip.badilisha, kategoria item.findspan, class_category.text.strip bidhaa.ambatishajina, bei, kategoria kurudisha bidhaa Hatua ya 3: Unganisha kwa hifadhidata ya PostgreSQLdef connect_to_db: conn psycopg2.connect dbnamejina_la_hifadhi_yako, mtumiajijina_la_la_mtumiaji, nenosirinenosiri_lako, mwenyejimwenyeji_wako, bandari bandari_yako kurudi conn Hatua ya 4: Hifadhi data iliyokatwa kwenye hifadhidatadef store_data_in_dbbidhaa, conn: cur conn.cursor kwa bidhaa katika bidhaa: cur.execute INGIA KWENYE bidhaa cheo, bei, kitengo VALUES s, s, s; , bidhaa conn.commit Hatua ya 5: Toa ripoti yenye bidhaa 10 za bei ghali zaidi katika kila kitengodef generate_reportconn: cur conn.cursor cur.execute CHAGUA kategoria ya DISTINCT KUTOKA kwa bidhaa; kategoria safu0 ya safu katika cur.fetchall kwa kategoria katika kategoria: chapafBidhaa 10 bora zaidi katika category: cur.execute CHAGUA kichwa, bei KUTOKA kwa bidhaa WAPI kategoria s AGIZA KWA bei DESC KIKOMO 10; , kitengo, safu cur.fetchall printtabulatesafu, vichwaKichwa, Bei, tablefmtgridikama __name__ __main__: url Badilisha hii na URL ya tovuti ya e-commerce unayotaka kufuta bidhaa scrape_productsurl conn connect_to_db kuhifadhi_data_katika_dbbidhaa, conn zalisha_ripoticonn conn.closeHakikisha kuwa umebadilisha vishika nafasi katika chaguo la kukokotoa connect_to_db na stakabadhi zako halisi za hifadhidata ya PostgreSQL na ubadilishe URL iliyo katika kizuizi kikuu hadi tovuti ya biashara ya kielektroniki unayotaka kufuta.Tafadhali kumbuka kuwa uchakachuaji wa wavuti unaweza kuwa kinyume na masharti ya huduma ya baadhi ya tovuti. Angalia na uheshimu faili ya tovuti ya robots.txt na sheria na masharti kabla ya kufuta. 