python 爬虫抓取网页数据导出excel_python爬虫:利用函数封装爬取多个网页,并将爬取的信息保存在excel中(涉及编码和pandas库的使用)...

在之前的文章中,我们已经爬取了单网页的湖北大学贴吧的信息。我爱小徐子:(python小白必看!)python爬虫详细讲解:静态单网页的内容爬取 爬取对象:百度贴吧湖北大学吧​zhuanlan.zhihu.comzhihu-card-default.svg

仔细想一想,单网页也才只有50条信息,如果你想找到女神在哪些时间段发了哪些帖子,这么点信息是远远不够的········(毕竟,女神并不会天天发帖,贴吧每天的发帖数量肯定远远不止50条),所以,为了老铁们的幸福生活/*注:并不是为了我自己,因为我女神是我女朋友(不加这句话,怕是要跪搓衣板板)*/现在有必要更深入的探讨一下怎么爬取多网页的信息。

老规矩,在进入正题之前,让我先激励激励你们(吹吹牛皮)。

我从昨天下午回到家一直弄python弄到现在,不要觉得我是无聊,我的分子生物学实验报告还没写,数据结构的二叉树的遍历还没有开始研究,英语单词也还没背(虽然我经常忘记背),线代作业也还没开始写,再扯远一点,我的马原老师说的”挟泰山以超北海“,”方生方死,方死方生“到底是什么哲学意义,我也还没有开始研究。然而,就是这样,我什么都没做,我还是不怕,因为我爱python,我喜欢python的从入门到精通!(说得像真的一样),不知道大家有没有感觉很热血呢? 没有的话,我们就进入正题!(是的,并没有打错字)

本文分为这几个部分来讲python函数,编码问题,pandas库的使用,爬取数据,保存数据到本地excel。

python中的函数问题

每种语言都有它的函数定义方式,比如C语言就是 关键字 函数名(形参),同样地,python也有它的函数定义方式 def 函数名(形参): 函数的作用如果大家看过书的话,应该都知道,它是用来封装一段可以重复使用的代码的,而这段代码之所以能够被重复使用,就是因为实参可以代替形参的位置,从而实现不同的功能。

比如我定义一个函数:

def myfunction():

print("我爱小徐子")

这样,一个函数就制作完成啦!

那么如果我们要调用python中的函数应该怎么做呢?其实也很简单,只需要这样做:

myfunction()

来看看实际效果:

python中的编码问题

python作为一门优雅的编程语言,个人认为,它最不优雅的地方就是编码,编码问题简直能让人吐血·······

首先第一点要知道,unicode编码是包括了所有的语言编码,统一使用的是两个字节,而utf-8编码方式,针对于英文字母是和ASCⅡ相同的使用一的字节,而汉字使用的是两个字节。 unicode编码在内存中使用(并不代表内存中总是使用unicode编码),utf-8在硬盘中使用。 windows系统自带使用的是gbk编码方式。 注意到encode()方法是将unicode编码转化成其他编码,而decode是将其他编码转化成unicode编码方式。

pandas库的使用

python 中自带有对数据表格处理的pandas库,用起来十分简单(所以说经常用python可能会成为一个调包侠,而实际算法一个都不会,这也是python方便的原因:什么库都有,什么都能做),首先,你需要安装pandas库,在命令行中输入:pip install pandas即可。 下面来简单地讲一讲一些pandas库的基本操作:

#声明

import pandas as pd

from pandas import DataFrame

要知道,pandas中有一个DataFrame模块,它类似与excel的表格形式。 在这里,我们需要知道将文件保存为excel格式使用的命令是:

df.to_excel(文件名)

其中df就是DataFrame类型。

pandas库还有很多操作,大家可以在网上自行学习。

进行数据的爬取

进行数据的爬取时,有一个问题真的是超级坑爹,就是关于.text.strip()这个方法的运用。

大家可以先看我的代码(和之前的文章爬取方式相同,不清楚的可以看专栏之前的文章):

In [14]: import requests

...:

...: import pandas as pd

...:zui

...: from pandas import DataFrame

...:

...: import numpy as np

...:

...: from bs4 import BeautifulSoup

...:

...: def get_url(url):

...:

...: r=requests.get(url)

...: r.raise_for_status()

...: r.encoding='utf-8'#这里我们已经知道了贴吧的编码方式,所以直接用utf-8

...: r=r.text

...: return r

...: def analyze_url(url,title_list,author_list,reply_list):

...: soup=BeautifulSoup(url,'lxml')

...: Tags=soup.find_all('li',attrs={"class":" j_thread_list clearfix"})

...: for li in Tags:

...: title_list.append(li.find('div',attrs={"class":"threadlist_title pull_left j_th_tit "}))

...: author_list.append(li.find('span',attrs={"class":"frs-author-name-wrap"}))

...: reply_list.append(li.find('div',attrs={"class":"col2_left j_threadlist_li_left"}))

...: title_list=[]

...: author_list=[]

...: reply_list=[]

...: for i in range(0,11):

...: url='http://tieba.baidu.com/f?kw=%E6%B9%96%E5%8C%97%E5%A4%A7%E5%AD%A6&ie=utf-8&pn='+str(50*i)

...: html=get_url(url)

...: analyze_url(html,title_list,author_list,reply_list)

...: print('正在爬取第%d页'%i)

最后爬取的结果是这样的:

可是,我到现在都有一个问题,我想除去标签,可是使用.text.strip()就会报错:

有大佬能解决的可以和我交流一下。

保存数据到本地excel

代码为:

In [16]: df=DataFrame()

In [17]: df["标题"]=title_list

In [18]: df["发帖人"]=author_list

In [19]: df["回复数量"]=reply_list

In [20]: df.to_excel(r'C:\Users\13016\Desktop\3.xlsx')

最后的结果为:

总而言之,今天的文章昨天其实就可以写出来。希望本文给大家一些帮助,当然,有知道为什么用.text.strip()方法会报错的原因的朋友,记得和我交流,至少,我到现在还是没有发现为什么会出现这个问题。

更多优质内容,请关注微信公众号:生物信息与python

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/54229.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++中cin读取数据原理解析

在网上看别人的博客关于cin的解读,有感而发!解决了我心头的疑惑,所以在此进行记录。 参考博客源地址:(23条消息) cin、cin.get()、cin.getline()、getline()的区别_cin.getline()函数_啊大1号的博客-CSDN博客(23条消息) C while(…

马原大题知识点整理

B站上的马原大题知识点 在网上没有找到对应的资料,手打了一份(可能会有部分错误) 马原大题 文章目录 一、马哲答题考核规律二、马哲答题书写格式三、马哲大题背诵概念(一)辩证法1、联系观2、发展观3、新事物4、五大基…

研究生复试之专业问答

比较 TCP与 UDP TCP与 UDP都是传输层的协议 , 且都用端口号标识数据所达的进 程。 TCP提供的是面向连接服务 , 提供可靠交付。且具有流量控制 和拥塞控制。可用于可靠要求高的场合如 :SMTP,FTP,HTTP等 。 UDP提供的是无连接服务 , 提供不可靠交付 , 且无确认机制。主要 用于即…

大模型总是「胡说八道」怎么办?手把手教你如何应对!

随着 ChatGPT 的出现,「AI 幻觉」一词被频繁提及。那么,什么是 AI 幻觉?简单来说,就是大模型在一本正经地胡说八道。 不止 ChatGPT,其他大语言模型也经常如此,究其根本是大语言模型在训练的过程中存在数据偏…

美军 AI 无人机 “抗令杀人”?LeCun、吴恩达在线辟谣:假的,是炒作!

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 上周三,近 400 名知名专家共同签署的 22 字声明,令人们将目光再次聚焦 AI 可能带来的风险,有关“AI 可能灭绝人类”的讨论更是甚嚣尘上。 在这种氛围中&#xff0c…

谷歌CEO皮查伊暗示要裁员;华为研发投入位居首位;Android 13首个安全更新|极客头条

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&…

易语言写微信群AI人工智能机器人,自动对话、聊天、发消息

工具我们已经打包好了,关注公众号“花花爱软件”回复“csdn”下载哈。。。。支持一下,码字不易 需要的工具: l 易语言 l 精易模块V8 l 精易助手, 朋友们大家好,我是今天的讲师,花花爱人,今天…

微信小程序实现分享至朋友圈的功能

微信小程序实现分享至朋友圈的功能 微信小程序从基础库 2.11.3 开始,可将小程序页面分享到朋友圈。适用于内容型页面的分享,不适用于有较多交互的页面分享。 1 设置分享状态 小程序页面默认不可被分享到朋友圈,开发者需主动设置“分享到朋友…

微信小程序开启分享给好友及分享朋友圈功能

创建一个空白模板的微信小程序,发布成功后才发现不能分享给好友 及朋友圈 查了下才知道,要有分享功能需要开启。 在小程序首页的里添加以下两个函数 //用户点击右上角分享给好友,要现在分享到好友这个设置menu的两个参数,才可以…

用python 实现朋友圈自动点赞

使用该程序只是为了熟悉pyautogui模块的应用,不是所有圈文该点赞的,请读者慎用! 我们需要pyautogui模块,pyautogui是一个纯Python的GUI自动化工具,通过它可以让程序自动控制鼠标和键盘。 1、安装 pip3 install pya…

【基于ESP8266、点灯科技集小爱同学5灯语音控制、本地按键、无线按键、离线语音的灯光控制】

集小爱同学语音控制、本地按键、无线按键、离线语音的灯光控制 电路图 代码 #define BLINKER_WIFI #define BLINKER_MIOT_MULTI_OUTLET //设置为小爱多个插座的模式 #include <Blinker.h> #define BLINKER_PRINT Serial //串口协议库 #define BLINKER_WITHOUT_S…

Blinker接入小爱同学做智能家居RGB灯

如果你有一部非小米手机&#xff0c;怎样连入米家&#xff0c;使用小爱同学语音控制家电呢 此文相关看不懂的知识点 1、esp8266无法下载程序&#xff1a;参考我的另外一篇文章 链接 2、非小米手机小爱同学语音接入 链接 实现功能 小爱同学语音控制客厅灯开关、模式切换、亮度…

chatgpt赋能python:用Python制作游戏

用Python制作游戏 游戏开发一直是计算机编程中最激动人心的领域之一。Python作为一种流行的编程语言&#xff0c;也可以用来制作游戏。在本文中&#xff0c;我们将介绍如何用Python制作游戏&#xff0c;并探讨用Python进行游戏开发的优点和局限性。 游戏开发的优点 Python作…

chatgpt赋能python:用Python编写游戏

用Python编写游戏 Python是一种用于编写各种应用程序的高级编程语言&#xff0c;它易于阅读和编写&#xff0c;并且在不同的操作系统中都具有广泛的使用。使用Python编写游戏可以使游戏开发人员轻松和快速地创建相当复杂的游戏&#xff0c;同时大幅度增强了游戏体验。 为什么…

chatgpt赋能python:Python怎么做3D游戏?

Python怎么做3D游戏? 随着游戏开发技术的不断更新和改进&#xff0c;Python也被越来越多的游戏开发者和爱好者所使用。事实上&#xff0c;Python可以进行3D游戏开发&#xff0c;并且其简单易学、离散记录和良好的结构化编程可以为游戏开发带来诸多便利。因此&#xff0c;本篇…

chatgpt赋能python:如何利用Python做游戏

如何利用Python做游戏 Python是一种流行的编程语言&#xff0c;可以用来做许多不同的事情&#xff0c;包括编写游戏。在这篇文章中&#xff0c;我们将讨论如何使用Python来制作游戏&#xff0c;并介绍如何优化您的游戏以提高搜索引擎排名。 Python中的游戏编程 Python不是专…

AIGC:OpenAI官方版AutoGPT简介

文章目录 [toc]简介一、聊天界面直接加购物车、发推特布洛克曼&#xff1a;是时候了解AGI了 简介 OpenAI官方AutoGPT&#xff0c;要来了&#xff01;就在AutoGPT项目破10万Star之际&#xff0c;OpenAI也放出重磅炸弹&#xff0c;由联合创始人格雷格布洛克曼&#xff08;Greg B…

销售人员必看的书推荐

一本好的有关销售技巧的书籍可以给销售人员指明方向&#xff0c;找到销售的精髓和正确的销售方法。那么怎样才算是一本好的销售书籍呢&#xff1f;都有哪些好的有关销售技巧的书籍呢&#xff1f;笔者凭借多年的销售经验和阅读经历选出了以下7本经典销售书籍&#xff0c;值得每个…

适合企业老板看的书推荐

老板就是一家企业的灵魂与精神领袖&#xff0c;老板的个人素质和能力大小直接决定一家企业最终能够走多远。 要想在这个变化莫测的竞争环境中拔得头筹&#xff0c;企业老板必须要通过大量的阅读来不断提升自己的管理技能与个人职业素养。商战宛如逆水行舟&#xff0c;不进则退…

经商必看的10本书籍推荐

1、《经理人参阅&#xff1a;商业模式与商业思维》 这本书被誉为商业模式的圣经。该书通过可视化工具&#xff0c;包括商业模式画布和价值主张画布&#xff0c;帮助企业家、创业者和经理人创造创新的商业模式。本书通过图表、图像和实例&#xff0c;详细讲解了商业模式的构建方…