Heim > Fragen und Antworten > Hauptteil
Ich versuche zu lernen, wie man Daten aus dieser URL extrahiert: https://denver.coloradotaxsale.com/index.cfm?folder=auctionResults&mode=preview
Das Problem besteht jedoch darin, dass sich die URL nicht ändert, wenn ich versuche, die Seite zu wechseln, sodass ich nicht sicher bin, wie ich sie auflisten oder durchlaufen soll. Da die Webseite über 3000 Verkaufsdatenpunkte verfügt, wird versucht, einen besseren Weg zu finden.
Dies ist mein Startcode, er ist sehr einfach, aber ich wäre für jede Hilfe oder jeden Tipp dankbar. Ich glaube, ich muss vielleicht auf eine andere Tasche umsteigen, bin mir aber nicht sicher, welche davon schön sein könnte, Suppe?
导入请求 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())
打印: