Rumah > Soal Jawab > teks badan
Saya cuba belajar cara mengekstrak data daripada url ini: https://denver.coloradotaxsale.com/index.cfm?folder=auctionResults&mode=preview
Walau bagaimanapun, masalahnya ialah apabila saya cuba menukar halaman, URL tidak berubah, jadi saya tidak pasti bagaimana untuk menghitung atau menggelungkannya. Memandangkan halaman web mempunyai 3000 titik data jualan, cuba mencari cara yang lebih baik sedang dilakukan.
Ini adalah kod permulaan saya, ia sangat mudah tetapi saya akan berterima kasih atas sebarang bantuan yang boleh saya berikan atau sebarang petua. Saya rasa saya mungkin perlu bertukar kepada beg lain tetapi saya tidak pasti yang mana satu mungkin sup cantik?
导入请求 url =“https://denver.coloradotaxsale.com/index.cfm?folder=auctionResults&mode=preview” html = requests.get(url).content df_list = pd.read_html(html,标题 = 1)[0] df_list = df_list.drop([0,1,2]) #删除不需要的行
P粉6008451632024-02-18 09:42:37
Untuk mendapatkan data daripada lebih banyak halaman, anda boleh menggunakan contoh berikut:
导入请求 将 pandas 导入为 pd 从 bs4 导入 BeautifulSoup 数据 = { "folder": "拍卖结果", “登录ID”:“00”, "页数": "1", "orderBy": "AdvNum", "orderDir": "asc", "justFirstCertOnGroups": "1", "doSearch": "真", "itemIDList": "", "itemSetIDList": "", “兴趣”: ””, “优质的”: ””, "itemSetDID": "", } url =“https://denver.coloradotaxsale.com/index.cfm?folder=auctionResults&mode=preview” 所有数据 = [] for data["pageNum"] in range(1, 3): # <-- 增加此处的页数。 soup = BeautifulSoup(requests.post(url, data=data).content, "html.parser") 对于 soup.select("#searchResults tr")[2:] 中的行: tds = [td.text.strip() for row.select("td") 中的 td] all_data.append(tds) 列= [ “序列号”, “纳税年度”, “通知”, “包裹ID”, “面额”, “中标”, “卖给”, ] df = pd.DataFrame(all_data, columns=columns) # 打印数据框中的最后 10 项: 打印(df.tail(10).to_markdown())
Cetakan: