六个步骤学会使用Python爬虫爬取数据(爬虫爬取微博实战)

这篇具有很好参考价值的文章主要介绍了六个步骤学会使用Python爬虫爬取数据(爬虫爬取微博实战)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用python的爬虫爬取数据真的很简单,只要掌握这六步就好,也不复杂。以前还以为爬虫很难,结果一上手,从初学到把东西爬下来,一个小时都不到就解决了。

Python爬虫六部曲

第一步:安装requests库和BeautifulSoup库

在程序中两个库的书写是这样的:

import` `requests``from` `bs4 ``import` `BeautifulSoup

由于我使用的是pycharm进行的python编程。所以我就讲讲在pycharm上安装这两个库的方法。在主页面文件选项下,找到设置。进一步找到项目解释器。之后在所选框中,点击软件包上的+号就可以进行查询插件安装了。有过编译器插件安装的hxd估计会比较好入手。具体情况就如下图所示。
微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

第二步:获取爬虫所需的header和cookie

我写了一个爬取微博热搜的爬虫程序,这里就直接以它为例吧。获取header和cookie是一个爬虫程序必须的,它直接决定了爬虫程序能不能准确的找到网页位置进行爬取。

首先进入微博热搜的页面,按下F12,就会出现网页的js语言设计部分。如下图所示。找到网页上的Network部分。然后按下ctrl+R刷新页面。如果,进行就有文件信息,就不用刷新了,当然刷新了也没啥问题。然后,我们浏览Name这部分,找到我们想要爬取的文件,鼠标右键,选择copy,复制下网页的URL。就如下图所示。

微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

复制好URL后,我们就进入一个网页Convert curl commands to code。这个网页可以根据你复制的URL,自动生成header和cookie,如下图。生成的header和cookie,直接复制走就行,粘贴到程序中。

微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

#爬虫头数据``cookies ``=` `{``  ``'SINAGLOBAL'``: ``'6797875236621.702.1603159218040'``,``  ``'SUB'``: ``'_2AkMXbqMSf8NxqwJRmfkTzmnhboh1ygvEieKhMlLJJRMxHRl-yT9jqmg8tRB6PO6N_Rc_2FhPeZF2iThYO9DfkLUGpv4V'``,``  ``'SUBP'``: ``'0033WrSXqPxfM72-Ws9jqgMF55529P9D9Wh-nU-QNDs1Fu27p6nmwwiJ'``,``  ``'_s_tentry'``: ``'www.baidu.com'``,``  ``'UOR'``: ``'www.hfut.edu.cn,widget.weibo.com,www.baidu.com'``,``  ``'Apache'``: ``'7782025452543.054.1635925669528'``,``  ``'ULV'``: ``'1635925669554:15:1:1:7782025452543.054.1635925669528:1627316870256'``,``}``headers ``=` `{``  ``'Connection'``: ``'keep-alive'``,``  ``'Cache-Control'``: ``'max-age=0'``,``  ``'Upgrade-Insecure-Requests'``: ``'1'``,``  ``'User-Agent'``: ``'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.6241 SLBChan/25'``,``  ``'Accept'``: ``'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'``,``  ``'Sec-Fetch-Site'``: ``'cross-site'``,``  ``'Sec-Fetch-Mode'``: ``'navigate'``,``  ``'Sec-Fetch-User'``: ``'?1'``,``  ``'Sec-Fetch-Dest'``: ``'document'``,``  ``'Accept-Language'``: ``'zh-CN,zh;q=0.9'``,``}``params ``=` `(``  ``(``'cate'``, ``'realtimehot'``),``)

复制到程序中就像这样。这是微博热搜的请求头。

第三步:获取网页

我们将header和cookie搞到手后,就可以将它复制到我们的程序里。之后,使用request请求,就可以获取到网页了。

#获取网页``response ``=` `requests.get(``'https://s.weibo.com/top/summary'``, headers``=``headers, params``=``params, cookies``=``cookies)

第四步:解析网页

这个时候,我们需要回到网页。同样按下F12,找到网页的Elements部分。用左上角的小框带箭头的标志,如下图,点击网页内容,这个时候网页就会自动在右边显示出你获取网页部分对应的代码。

微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

如上图所示,我们在找到想要爬取的页面部分的网页代码后,将鼠标放置于代码上,右键,copy到selector部分。就如上图所示。

第五步:分析得到的信息,简化地址

其实刚才复制的selector就相当于网页上对应部分存放的地址。由于我们需要的是网页上的一类信息,所以我们需要对获取的地址进行分析,提取。当然,就用那个地址也不是不行,就是只能获取到你选择的网页上的那部分内容。

#pl_top_realtimehot > table > tbody > tr:nth-child(1) > td.td-02 > a``#pl_top_realtimehot > table > tbody > tr:nth-child(2) > td.td-02 > a``#pl_top_realtimehot > table > tbody > tr:nth-child(9) > td.td-02 > a

这是我获取的三条地址,可以发现三个地址有很多相同的地方,唯一不同的地方就是tr部分。由于tr是网页标签,后面的部分就是其补充的部分,也就是子类选择器。可以推断出,该类信息,就是存储在tr的子类中,我们直接对tr进行信息提取,就可以获取到该部分对应的所有信息。所以提炼后的地址为:

#pl_top_realtimehot > table > tbody > tr > td.td-02 > a

这个过程对js类语言有一定了解的hxd估计会更好处理。不过没有js类语言基础也没关系,主要步骤就是,保留相同的部分就行,慢慢的试,总会对的。

第六步:爬取内容,清洗数据

这一步完成后,我们就可以直接爬取数据了。用一个标签存储上面提炼出的像地址一样的东西。标签就会拉取到我们想获得的网页内容。

#爬取内容``content``=``"#pl_top_realtimehot > table > tbody > tr > td.td-02 > a"

之后我们就要soup和text过滤掉不必要的信息,比如js类语言,排除这类语言对于信息受众阅读的干扰。这样我们就成功的将信息,爬取下来了。

fo ``=` `open``(``"./微博热搜.txt"``,``'a'``,encoding``=``"utf-8"``)``a``=``soup.select(content)``for` `i ``in` `range``(``0``,``len``(a)):``  ``a[i] ``=` `a[i].text``  ``fo.write(a[i]``+``'\n'``)``fo.close()

我是将数据存储到了文件夹中,所以会有wirte带来的写的操作。想把数据保存在哪里,或者想怎么用,就看读者自己了。

爬取微博热搜的代码实例以及结果展示:

import` `os``import` `requests``from` `bs4 ``import` `BeautifulSoup``#爬虫头数据``cookies ``=` `{``  ``'SINAGLOBAL'``: ``'6797875236621.702.1603159218040'``,``  ``'SUB'``: ``'_2AkMXbqMSf8NxqwJRmfkTzmnhboh1ygvEieKhMlLJJRMxHRl-yT9jqmg8tRB6PO6N_Rc_2FhPeZF2iThYO9DfkLUGpv4V'``,``  ``'SUBP'``: ``'0033WrSXqPxfM72-Ws9jqgMF55529P9D9Wh-nU-QNDs1Fu27p6nmwwiJ'``,``  ``'_s_tentry'``: ``'www.baidu.com'``,``  ``'UOR'``: ``'www.hfut.edu.cn,widget.weibo.com,www.baidu.com'``,``  ``'Apache'``: ``'7782025452543.054.1635925669528'``,``  ``'ULV'``: ``'1635925669554:15:1:1:7782025452543.054.1635925669528:1627316870256'``,``}``headers ``=` `{``  ``'Connection'``: ``'keep-alive'``,``  ``'Cache-Control'``: ``'max-age=0'``,``  ``'Upgrade-Insecure-Requests'``: ``'1'``,``  ``'User-Agent'``: ``'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 SLBrowser/7.0.0.6241 SLBChan/25'``,``  ``'Accept'``: ``'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'``,``  ``'Sec-Fetch-Site'``: ``'cross-site'``,``  ``'Sec-Fetch-Mode'``: ``'navigate'``,``  ``'Sec-Fetch-User'``: ``'?1'``,``  ``'Sec-Fetch-Dest'``: ``'document'``,``  ``'Accept-Language'``: ``'zh-CN,zh;q=0.9'``,``}``params ``=` `(``  ``(``'cate'``, ``'realtimehot'``),``)``#数据存储``fo ``=` `open``(``"./微博热搜.txt"``,``'a'``,encoding``=``"utf-8"``)``#获取网页``response ``=` `requests.get(``'https://s.weibo.com/top/summary'``, headers``=``headers, params``=``params, cookies``=``cookies)``#解析网页``response.encoding``=``'utf-8'``soup ``=` `BeautifulSoup(response.text, ``'html.parser'``)``#爬取内容``content``=``"#pl_top_realtimehot > table > tbody > tr > td.td-02 > a"``#清洗数据``a``=``soup.select(content)``for` `i ``in` `range``(``0``,``len``(a)):``  ``a[i] ``=` `a[i].text``  ``fo.write(a[i]``+``'\n'``)``fo.close()

微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

总结

到此这篇关于如何用六步教会你使用Python爬虫爬取数据的文章就介绍到这了!

如果你也喜欢编程,想通过学习Python转行、做副业或者提升工作效率,我也为大家整理了一份 【最新全套Python学习资料】一定对你有用!
微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

二、Python课程视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、清华编程大佬出品《漫画看学Python》

用通俗易懂的漫画,来教你学习Python,让你更容易记住,并且不会枯燥乏味。

微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

五、Python实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

六、互联网企业面试真题

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据

这份完整版的Python全套学习资料已经上传至CSDN官方,朋友们如果需要可以点击下方链接费获取【保证100%免费】
微博爬虫代码,python,python,爬虫,python入门,python爬虫,python爬虫爬取网页数据文章来源地址https://www.toymoban.com/news/detail-720893.html

到了这里,关于六个步骤学会使用Python爬虫爬取数据(爬虫爬取微博实战)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 爬虫 | Python爬取微博实时热搜榜信息

    大家好,我是程序员晓晓~ 本期给大家分享一下如何 用python获取微博热搜榜 信息,包含 爬取时间、序号、、热度 等信息,希望对大家有所帮助。 所有内容仅供参考,不做他用。 1. 网页分析 目标网址(微博热搜榜): https://s.weibo.com/top/summary 实时热搜榜一共有50条,每个

    2024年02月02日
    浏览(19)
  • 【爬虫实战】用python爬取微博任意关键词搜索结果、exe文件

    项目功能简介: 1.交互式配置; 2.两种任意来源(直接输入、本地文件); 3.自动翻页(无限爬取); 4.指定最大翻页页码; 5.数据保存到csv文件; 6.程序支持打包成exe文件; 7.项目操作说明文档; 一.最终效果 视频演示: 用python爬取微博搜索结果、exe文件

    2024年02月02日
    浏览(28)
  • 用python语言爬虫爬取微博评论--上--初步爬虫(超详细版,大学生不骗大学生)

    目录 一、找到页面  二、学会使用检查元素 2.1 打开检查元素界面 2.2 找到所有评论所在的位置 2.2.1 搜索评论 2.2.2  找到data表 三、基础部分代码实现 ​​​​​​​ 全部已经更完(下面两个链接是中和下) https://blog.csdn.net/m0_68325382/article/details/137234661?spm=1001.2014.3001.5502 爬

    2024年04月10日
    浏览(20)
  • python爬虫爬取微信公众号的阅读数、喜爱数、文章标题和链接等信息

    爬虫的步骤: (1)申请自己的公众号 (2)使用fiddler抓包工具 (3)pycharm (一)申请公众号 官网:微信公众平台 填入相关信息创建微信公众号 进入公众号界面如下: 找到新的创作-图文信息 在弹出的界面中查找公众号文章-输入公众号名称-确定 点击确认之后,进入公众号

    2024年02月05日
    浏览(18)
  • python爬取微信小程序数据,python爬取小程序数据

    大家好,小编来为大家解答以下问题,python爬取微信小程序数据,python爬取小程序数据,现在让我们一起来看看吧! 最近需要获取微信小程序上的数据进行分析处理,第一时间想到的方式就是采用python爬虫爬取数据,尝试后发现诸多问题,比如无法获取目标网址、解析网址中

    2024年02月04日
    浏览(20)
  • Python爬虫:如何使用Python爬取网站数据

    更新:2023-08-13 15:30 想要获取网站的数据?使用Python爬虫是一个绝佳的选择。Python爬虫是通过自动化程序来提取互联网上的信息。本文章将会详细介绍Python爬虫的相关技术。 在使用Python爬虫之前,我们需要理解网络协议和请求。HTTP是网络传输的重要协议,它是在Web浏览器和

    2024年02月13日
    浏览(12)
  • Python爬虫|使用Selenium轻松爬取网页数据

    1. 什么是selenium? Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作浏览器一样。支持的浏览器包括IE,Firefox,Safari,Chrome等。 Selenium可以驱动浏览器自动执行自定义好的逻辑代码,也就是可以通过代码完全模拟成人类使用

    2024年02月04日
    浏览(14)
  • Python爬虫入门:使用selenium库,webdriver库模拟浏览器爬虫,模拟用户爬虫,爬取网站内文章数据,循环爬取网站全部数据。

    *严正声明:本文仅限于技术讨论与分享,严禁用于非法途径。 目录 准备工具: 思路: 具体操作: 调用需要的库: 启动浏览器驱动: 代码主体:  完整代码(解析注释): Python环境; 安装selenium库; Python编辑器; 待爬取的网站; 安装好的浏览器; 与浏览器版本相对应的

    2023年04月24日
    浏览(12)
  • Python中使用隧道爬虫ip提升数据爬取效率

    作为专业爬虫程序员,我们经常面临需要爬取大量数据的任务。然而,有些网站可能会对频繁的请求进行限制,这就需要我们使用隧道爬虫ip来绕过这些限制,提高数据爬取效率。本文将分享如何在Python中使用隧道爬虫ip实现API请求与响应的技巧。并进行详细的解析和实际代码

    2024年02月12日
    浏览(11)
  • 爬取微博热搜榜并进行数据分析

    :爬取微博热搜榜数据。 用requests库访问页面用get方法获取页面资源,登录页面对页面HTML进行分析,用beautifulsoup库获取并提取自己所需要的信息。再讲数据保存到CSV文件中,进行数据清洗,数据可视化分析,绘制数据图表,并用最小二乘法进行拟合分析。 :通过观察页面HT

    2024年02月15日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包