共计 1989 个字符,预计需要花费 5 分钟才能阅读完成。
在进行网页爬虫时,常常会遇到如何将数据返回并保存到文件的问题。以下是一个基于 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 模板网!
原文地址:https://www.toymoban.com/diary/python/782.html
如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!