为了账号安全,请及时绑定邮箱和手机立即绑定

我怎样才能让 python 将我抓取的变量导出为 .csv?

我怎样才能让 python 将我抓取的变量导出为 .csv?

开心每一天1111 2023-04-18 16:24:37
import requestsfrom bs4 import BeautifulSoupimport pandas as pdURL = 'https://mychesterfieldschools.com/mams/news-and-announcements/'page = requests.get(URL)soup = BeautifulSoup(page.content, 'html.parser')results = soup.find_all('div', class_='col-sm-12 col-md-12')for results in results:    body = results.find('p')    link = results.find('a')    a = body.text    b = link    print(a)    print(b)字符串很奇怪,我对 Python 很陌生。请帮忙!我试过使用 Pandas,但它对我不起作用。这是所需的输出:Chromebook 为学生提供支持,截至 7 月 30 日如下:每周二上午 8 点至 10 点在 Thomas Dale HS 周四 2-4 点在 CTC@Hull,...阅读全文这里有一些资源可以让您的孩子在暑假期间学习数学,并为他们将在秋季入学的课程做准备。ALEKS – 您的孩子在学年的数学课上一直在使用 ALEKS。ALEKS 是一种自适应数学程序,可为每个学生提供个性化的学习路径 [...],...阅读全文“Full STEAM Ahead 是 CodeVA 举办的会议,致力于通过科学、技术、工程、艺术和数学赋予年轻女性权力。我们通过将学生与女性榜样联系起来参与实践研讨会来激发他们的灵感。我们的演讲者将分享他们作为各自行业领导者的经验,强调 STEAM 和 [...] 的重要性,...阅读全文由于全州范围内学校关闭,切斯特菲尔德县公立学校正在重新安排学前班和幼儿园注册的机会。当取消或放宽与大型集会相关的限制时,将重新安排这两个面对面的机会。同时,未来的学前班和幼儿园学生有机会进行在线注册。随附的新闻稿 [...],...阅读全文
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

我创建了 2 个数组来存储 2 种不同类型的抓取数据。 pandas.DataFrame()将创建一个数据框对象并将pandas.to_csv()数据框对象发送到 .csv 文件。


这可能不是最有效的代码,但它可以工作


import requests

from bs4 import BeautifulSoup

import pandas as pd


URL = 'https://mychesterfieldschools.com/mams/news-and-announcements/'

page = requests.get(URL)


soup = BeautifulSoup(page.content, 'html.parser')


results = soup.find_all('div', class_='col-sm-12 col-md-12')


// declaring the 2 arrays for storing your scraped data

text = []

a_tags = []


for results in results:

    body = results.find('p')

    link = results.find('a')

    a = body.text

    b = link

    print(a)        // prints the text (data type string)

    print(b)        // prints the tag (data type bs4.element.Tag object)


    // store the text in text array

    text.append(a)


    // convert the tags to string and store in a_tags array

    a_tags.append(str(b))


// prints the saved arrays

print("text :    ", text)

print("tags :    ", a_tags)


// creates a pandas dataframe object of the above 2 arrays

df = pd.DataFrame(

    {

        "Text": text,

        "A_tags": a_tags

    }

)


// converts to csv

df.to_csv("data.csv", index=False, encoding="utf-8")

输出data.csv文件出现在与 python 脚本相同的目录中。

这是 csv 在 Microsoft Office Excel 上的显示方式:

//img1.sycdn.imooc.com/643e53f00001ea4706590168.jpg

查看完整回答
反对 回复 2023-04-18
  • 1 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信