我正在嘗試學習如何從此網址提取資料: https://denver.coloradotaxsale.com/index.cfm?folder=auctionResults&mode=preview
但是,問題是當我嘗試切換頁面時,URL 不會改變,因此我不確定如何列舉或循環它。由於網頁有 3000 個銷售數據點,正在嘗試尋找更好的方法。
這是我的起始程式碼,它非常簡單,但我將不勝感激任何可以提供的幫助或任何提示。我想我可能需要換成另一個包,但我不確定哪個可能是 beautifulsoup?
导入请求 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
要從更多頁面取得數據,您可以使用以下範例:
导入请求 将 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())
列印: