
标签的文本内容,写入excel表格的第2列;
定位fs-cmsfilter-field="status"的div标签,提取其内容,写入excel表格的第3列;定位class="mob-link"的div标签,提取其内容,写入excel表格的第4列;定位第1个class="flex-vertical gap-4"的div标签, 找到所有的标签, 提取每个
标签中的文本内容,过滤掉不需要的文本:“TEAM”和空字符串,然后写入excel表格的第5列;
定位第2个class="flex-vertical gap-4"的div标签, 找到所有的标签, 提取每个
标签中的文本内容,过滤掉不需要的文本:“Milestones”和空字符串,然后写入excel表格的第6列;
定位第3个class="flex-vertical gap-4"的div标签, 找到所有的标签, 提取每个
标签中的文本内容,过滤掉不需要的文本:“Articles”和空字符串,然后写入excel表格的第6列;
注意:每一步都要输出信息到屏幕上Deepseek给出的Python源代码:import requestsfrom bs4 import BeautifulSoupimport openpyxl# 创建一个新的Excel工作簿workbook = openpyxl.Workbook()sheet = workbook.activesheet.title = "Amplify Partners Portfolio"# 设置表头sheet['A1'] = 'Name'sheet['B1'] = 'Location'sheet['C1'] = 'Status'sheet['D1'] = 'Link'sheet['E1'] = 'Team'sheet['F1'] = 'Milestones'sheet['G1'] = 'Articles'# 获取网页内容url = 'https://www.amplifypartners.com/portfolio'response = requests.get(url)soup = BeautifulSoup(response.content, 'html.parser')# 定位所有的role="listitem"的div元素list_items = soup.find_all('div', role='listitem')row = 2 # 从第二行开始写入数据for item in list_items:try:# 提取class="mob-name"的div标签内容name_div = item.find('div', class_='mob-name')name = name_div.text.strip() if name_div else ''print(f"Extracted Name: {name}")sheet[f'A{row}'] = name# 提取class="copy-wr"的div标签中标签的文本内容
location_div = item.find('div', class_='copy-wr')location = location_div.find('p').text.strip() if location_div and location_div.find('p') else ''print(f"Extracted Location: {location}")sheet[f'B{row}'] = location# 提取fs-cmsfilter-field="status"的div标签内容status_div = item.find('div', {'fs-cmsfilter-field': 'status'})status = status_div.text.strip() if status_div else ''print(f"Extracted Status: {status}")sheet[f'C{row}'] = status# 提取class="mob-link"的div标签内容link_div = item.find('div', class_='mob-link')link = link_div.text.strip() if link_div else ''print(f"Extracted Link: {link}")sheet[f'D{row}'] = link# 定位第1个class="flex-vertical gap-4"的div标签team_div = item.find('div', class_='flex-vertical gap-4')if team_div:team_members = [p.text.strip() for p in team_div.find_all('p') if p.text.strip() not in ['TEAM', '']]team_str = ', '.join(team_members)print(f"Extracted Team: {team_str}")sheet[f'E{row}'] = team_str# 定位第2个class="flex-vertical gap-4"的div标签milestones_div = item.find_all('div', class_='flex-vertical gap-4')[1] if len(item.find_all('div', class_='flex-vertical gap-4')) > 1 else Noneif milestones_div:milestones = [p.text.strip() for p in milestones_div.find_all('p') if p.text.strip() not in ['Milestones', '']]milestones_str = ', '.join(milestones)print(f"Extracted Milestones: {milestones_str}")sheet[f'F{row}'] = milestones_str# 定位第3个class="flex-vertical gap-4"的div标签articles_div = item.find_all('div', class_='flex-vertical gap-4')[2] if len(item.find_all('div', class_='flex-vertical gap-4')) > 2 else Noneif articles_div:articles = [p.text.strip() for p in articles_div.find_all('p') if p.text.strip() not in ['Articles', '']]articles_str = ', '.join(articles)print(f"Extracted Articles: {articles_str}")sheet[f'G{row}'] = articles_strrow += 1except Exception as e:print(f"Error processing item: {e}")# 保存Excel文件workbook.save('F:/Amplifypartnersportfolio.xlsx')print("Data saved to Amplifypartnersportfolio.xlsx")创建Excel工作簿: 使用 openpyxl 创建一个新的Excel工作簿,并设置表头。获取网页内容: 使用 requests 库获取网页内容,并使用 BeautifulSoup 解析HTML。定位和提取数据: 使用 BeautifulSoup 的 find 和 find_all 方法定位和提取所需的数据。写入Excel: 将提取的数据写入Excel表格的相应列。保存Excel文件: 将工作簿保存到指定路径。运行此脚本后,你将在F盘根目录下找到 Amplifypartnersportfolio.xlsx 文件,其中包含提取的数据。爬取成功: