如何使用Python抓取网页的结果并保存到 Excel 文件?

3,713次阅读
没有评论

共计 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")

代码解析

  1. 导入库 :使用BeautifulSoup 进行 HTML 解析,Selenium进行网页操作,pandas用于数据处理和保存。

  2. 定义函数 checkproduct 函数负责访问网页,提取产品信息并返回一个列表。

  3. 数据存储 :在主循环中,我们构建了 URL,并调用checkproduct 函数来获取数据。将每次爬取的结果转换为 DataFrame 并存入列表。

  4. 合并数据并保存 :最后,使用pandas 将所有数据合并,并保存为 Excel 文件。

通过此方法,您可以有效地抓取网页数据,并使用 Pandas 进行简单的操作与保存,使数据的管理更加方便。文章来源地址 https://www.toymoban.com/diary/python/782.html

到此这篇关于如何使用 Python 抓取网页的结果并保存到 Excel 文件?的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!

原文地址:https://www.toymoban.com/diary/python/782.html

如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-10-30发表,共计1989字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)