在进行网页爬虫时,常常会遇到如何将数据返回并保存到文件的问题。以下是一个基于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/article/782.html
通过此方法,您可以有效地抓取网页数据,并使用Pandas进行简单的操作与保存,使数据的管理更加方便。文章来源地址https://www.toymoban.com/article/782.html
到此这篇关于如何使用Python抓取网页的结果并保存到 Excel 文件?的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!









