在进行网页爬虫时,常常会遇到如何将数据返回并保存到文件的问题。以下是一个基于Python的示例代码,展示了如何从特定网站提取数据,并将结果保存为Excel文件。此代码使用Pandas数据框架,以便于后续的数据操作。
from bs4 import BeautifulSoup as soup from selenium import webdriver import time import pandas as pd def checkproduct(url): driver = webdriver.Chrome() driver.get(url) driver.execute_script("window.scrollTo(0, 3000);") time.sleep(10) page_html = driver.page_source data = soup(page_html, 'html.parser') allproduct = data.findAll('div', {'class':'c16H9d'}) list_title = [] list_url = [] list_price = [] list_image = [] for pd in allproduct: pd_title = pd.text pd_url = 'https:' + pd.a['href'] list_title.append(pd_title) list_url.append(pd_url) allprice = data.findAll('span',{'class':'c13VH6'}) for pc in allprice: pc_price = pc.text.replace('฿','').replace(',','') list_price.append(float(pc_price)) allimages = data.findAll('img',{'class':'c1ZEkM'}) for productimages in allimages: list_image.append(productimages['src']) driver.close() return [list_title, list_price, list_url, list_image] base_url = "https://www.lazada.co.th/shop-smart-tv?pages=" n = 3 rows = [] for i in range(1, n+1): url = base_url + f"{i}" print(url) results = checkproduct(url) rows.append(pd.DataFrame(results).T) df = pd.concat(rows).reset_index(drop=True) df.columns = ['Product', 'Price', 'URL', 'Images'] df.to_excel("Lazada_Product.xlsx")
代码解析
导入库:使用
BeautifulSoup
进行HTML解析,Selenium
进行网页操作,pandas
用于数据处理和保存。定义函数:
checkproduct
函数负责访问网页,提取产品信息并返回一个列表。数据存储:在主循环中,我们构建了URL,并调用
checkproduct
函数来获取数据。将每次爬取的结果转换为DataFrame并存入列表。合并数据并保存:最后,使用
pandas
将所有数据合并,并保存为Excel文件。文章来源:https://www.toymoban.com/diary/python/782.html
通过此方法,您可以有效地抓取网页数据,并使用Pandas进行简单的操作与保存,使数据的管理更加方便。文章来源地址https://www.toymoban.com/diary/python/782.html
到此这篇关于如何使用Python抓取网页的结果并保存到 Excel 文件?的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!