用Python从百度百科爬取十个页面

Python3 爬取百度百科 前言 不需要登录百度账号即可获取某一特定的百科页面,因此编写爬虫时不需要考虑登录的问题 百度百科有反爬虫机制,如果同一个IP短时间内大量访问百科服务器,会导致百科在一段时间内拒绝响应该IP。因此,如果直接连续爬取百科页面,很快会被封杀而不能继续爬取。解决的办法是使用代理。也就是让某个代理p替我们去访问某一个百科页面,然后代理将其获取的百科页面传给我们。这样,在百科服务器看来,访问它的是代理p,而不是 阅读详情

从百度百科爬取十个页面:

 

1. 路径管理模块:url_manager.py

  维护两个集合:待爬取的url 、 已爬取的url

  方法:

  (1)向管理器中添加一个新的url

  (2)向管理器中添加批量新的url

(3)判断是否有新的待爬取的url

(4)获取一个待爬取的url

2.  HTML下载模块:html_downloader.py

   下载页面内容

   方法:下载页面内容:

   from urllib.parse import quote

   url_ = quote(new_url, safe=string.printable) #解决请求路径中含义中文或特殊字符

   request.urlopen(url_).read().decode(“utf8”) #返回处理后的html文档

3. 页面解析模块:html_parser.py

    from bs4 import BeautifulSoup

import re

from urllib import parse

方法:

(1)获取BeautifulSoup 对象:

     soup = BeautifulSoup(html_context, "html.parser")

(2)获取符合条件的待爬取网址集合

new_urls = set()

links = soup.find_all('a', href=re.compile(r'/item/\w+'))

for link in links:

new_url = link["href"]

# 例如page_url=http://baike.baidu.com/item/Python new_url=/item/史记·2016?fr=navbar

# 则使用parse.urljoin(page_url,new_url)后 new_full_url = http://baike.baidu.com/item/史记·2016?fr=navbar

    new_full_url = parse.urljoin(page_url, new_url)

    new_urls.add(new_full_url)

return new_urls

(3)获取爬取出来的数据信息集合

     # <dd class="lemmaWgt-lemmaTitle-title"> <h1>Python</h1>

        red_data = {}

        red_data['url'] = page_url

        title_node = soup.find('dd', class_="lemmaWgt-lemmaTitle-title").find('h1')  

# 获取标题内容

        red_data['title'] = title_node.get_text()

        # <div class="lemma-summary" label-module="lemmaSummary">

        summary_node = soup.find('div', class_="lemma-summary")

        red_data['summary'] = summary_node.get_text()

        return red_data

(4)写入网页显示模块: html_output.py

python3 爬虫学习-根据关键词爬取百度百科内容 小白编了好久才写出来,记录一下免得之后再用的时候都忘了还得重新学~ 学习爬虫最开始是学习了慕课上的python课程,然后学习了慕课和网易云上的爬虫教程。这两个自己去查一下就好了~ 开始还比较费劲,毕竟熟悉需要时间么,而且python也不太熟悉。 关于python版本:我一开始看很多资料说python2比较好,因为很多库还不支持3,但是使用到现在为止觉得还是pythin3比较好用,因为编码什么 阅读详情

相关推荐

Python爬虫爬取百度百科内容实例

博主将来想从事数据挖掘算法相关的工作,数据挖掘的前提是有数据可用,于是想学些与爬虫有关的技术。前几天从imooc中学习了Python开发简单爬虫课程(课程网址),功能是爬取百度百科的内容,如果网页上还有相关链接,把相关链接的网页的内容也爬取下来。感觉老师讲的非常好,对于刚接触爬虫的、对面向对象编程有一定了解的同学非常合适,详细程度可以说是手把手教学了。这里记录一下我的学习过程。只是个人理解,说的不

u013162562的博客 4209

【Python综合应用】Python抓取 1-10页的嘻嘻哈哈

#coding=UTF-8 from urllib.request import Request, urlopen,quote from urllib.error import URLError import chardet from bs4 import BeautifulSoup as BS import sys import re # from readabili...

学长的猫的博客 709

Python爬虫_BeautifulSoup爬取百度百科

来源于imooc教程实例,课程地址http://www.imooc.com/learn/5630,爬取目标1)百度百科词条标题和简介;2)链接页面的词条标题和简介;3)总共爬取1000个页面。如“Python”词条的百度百科页面: 要爬取的内容是: 1)词条标题“Python”+词条简介(Python(英国发音……); 2)爬取链接页面,“面向对象”,“计算机程序设计语言”等页面的词条标题和词

琳小白的博客 6369

自动化爬取新闻页面

自动化爬取新闻页面 由于上次爬取的内容中,有一些图片本人访问是可以的,但是别人访问就是404 Nginx…等错误,所以需要重新爬取。今天的目标是人民网,人民网上也有一些昆虫类的题材。 难点:人民网的素材是动态加载的,众所周知动态加载的直接爬是爬不到源码的。 解决方法:使用自动化模拟用户访问,拿到源码,对源码再进行爬取分析整理。 过程分如下几步: ​ ~获取网页源码的步骤 下载第三方库selenium 下载常用浏览器对应的驱动 模拟用户,等待刷新 获取当前界面源码 将源码保存在本地 ​ ~ 处理简单

wangaolong0427的博客 750

第一个python爬虫(python3爬取百度百科1000个页面)

今天首次尝试python爬虫,爬取了简单的静态网站,1000个百度百科页面 一、爬虫简介 爬虫:一段自动抓取互联网信息的程序 爬虫可以从一个url出发,访问其所关联的所有的url。并从每个url指向的网页中,获取我们所需要的信息。 二、简单爬虫架构  1.Python简单爬虫架构 (1)爬虫调度端:启动爬虫、停止爬虫、监视爬虫的运行

oldbig_lin的博客 5511

Python爬虫完整案例 - 爬取百度百科词条信息

概述 一个完整的爬虫,一般由以下5个组件构成: 1.URL管理器 负责维护待爬取URL队列和已爬取URL队列,必须拥有去重功能。 2.HTML下载器 负责根据调度器从URL管理器中取出的url,下载html页面数据 3.HTML解析器 负责解析HTML下载器下载的网页数据,从中提取新的url和目标数据,并将其返回 4.数据存储器 负责将HTML下载器返回的的数据保存到本地或数据库

Money多多 5501

python百度百科-python语言概述

python语言的发展python语言诞生于1990年,由Guide van Rossum设计并领导开发。python语言是开源项目的优秀代表,其解释器的全部代码都是开源的。编写Hello程序学习编程语言有一个惯例,即运行最简单的Hello程序,该程序功能是在屏幕上打印输出"Hello World”。程序虽小,但却是初学者接触编程语言的第一步。使用python语言编写Hello程序只有一...

q6q6q的专栏 2453

利用Python爬取百度百科词条并生成词云图

利用Python爬取百度百科词条并生成词云图

LucianaiB的博客 4312

爬虫实战(三)

需要注意的是,爬取多个页面时,我们需要使用循环来遍历每个页面,并将每个页面的内容合并到同一个列表中。通常,我们可以通过对页面的HTML代码进行解析,提取出我们需要的信息,并保存到本地文件或数据库中。随着互联网的发展,数据量的爆炸式增长,单机爬虫已经无法满足大规模数据爬取的需求,分布式爬虫成为了一种常见的解决方案。百度搜索是一个非常常见的搜索引擎,我们可以使用Python的requests库和BeautifulSoup库来爬取百度搜索结果页面,并提取搜索结果的标题、链接和描述信息。

深度学习客 1万+

用Python实现百度百科页面爬取

在互联网的世界里,网络爬虫(Web Crawler)又被称为网络蜘蛛(Web Spider)或网络机器人(Web Robot),是一种自动化获取网络信息资源的程序或脚本。它们按照一定的规则,自动从互联网上搜集信息,按照既定的规则对信息进行筛选、提取,并进行存储和进一步处理。爬虫在网络数据挖掘、搜索引擎优化、数据监控、市场分析等众多领域扮演着重要角色。通过爬虫技术,我们能够高效地从网页中提取出有价值的数据信息,满足数据分析、知识挖掘、自动化测试等多种业务需求。

weixin_42608299的博客 1642

python爬取百度百科的页面

python爬取百度百科的页面主要用BeautifulSoup ,urllib2等

Python爬虫实战 之 爬取百度当天热搜内容

使用以上同样的方法,我们可以看到前两条热搜的简介如下:如今兰考发生了翻天覆地的变化,张庄村的老百姓把xx走过的一条路改名为“幸福路”,沿着“幸福路”奔向越来越好的日子…17日,广东深圳一女子在山顶为打卡拍照徒手攀爬时不慎手滑险些落山。当地办事处表示雨天路滑不建议攀爬,正常山道是有人看管的…同样可以使用正则表达式表示下:(.\*)通过以上分析,我们就得到了我们需要重点几个变量:target=)URL:url =tab=r…热搜标题: title = re.compile(r’(.*?

mate1357的博客 3215

python爬虫--爬取百度百科字条python2和python3版本

一个实战性项目,python入门 爬取百度百科python词条相关的1000个词条 也可以直接在我的博客里面查看:http://blog.youkuaiyun.com/qiqiyingse/article/details/51798833 解压密码:123 主要是之前写的内容因为百度百科的网页发生了变化,因此重新上传一份,里面有python2和python3 的版本

Python爬虫实战: 多进程爬取百度百科页面超链接

Python爬虫实战: 多进程爬取百度百科页面超链接 最近因为需要,爬取了实体知识库里每个实体在百度百科页面下的所有超链接内容,这部分工作结束后,想着既是总结也是分享,把这部分工作和代码记录下来,对于刚想学爬虫的可以了解爬虫过程跑一下代码github,代码并不复杂只是requests的页面爬取,写得不好,也欢迎各位大佬指正和讨论。 抓取思路、流程 代码分析 确定爬取需求 写一个爬虫的话,首先是要明确自己的需求,即打开一个页面,知道自己想要抓取下来哪些内容,然后再去观察网页的源码,来分析如何通过html/

大数据开发、JAVA开发、人工智能AI 3385

Mediapipe手势识别实战——基于关节角度计算实现动态手势分类

本文详细介绍了如何利用Mediapipe进行手势识别,通过计算手指关节弯曲角度实现动态手势分类。文章从基础原理出发,讲解了关节角度计算的数学方法,并提供了Python实现代码。同时,还分享了数字手势和OK手势的识别实战经验,以及性能优化和工程实践中的关键技巧,帮助开发者快速掌握实时手势识别技术。

weixin_26891599的博客 403

FileZilla Server目录显示失败的处理方法

这两天河南大暴雨挺严重导致多处停电,我远在郑州机房的服务器也断网连不上了。一直到今天下午才恢复,影响较大,有些客户要数据,可是数据因为断网拿不到。于是我想,要是能把服务器的数据备份到其他地方,比如我的本机或者另外一台电脑该多好。 于是今天一整天我都在找远程备份数据的方法,把一台服务器上的数据实时同步到另外一台上。或者两台服务器互相同步。 找了半天发现了FreeFileSync这个宝藏软件,它的原理很简单是通过ftp传输数据。 我得先在服务器上安装个ftp服务,首选filezilla server,安..

两天打鱼三天晒网 4453

python爬取百度百科获取中国高校信息

公众号看到的文章,感觉不错,适合练手。所以就自己做了一遍。 废话不多说开整。 目的:手头有一份《学校名称.xlsx》的表格。想要这些学校的英文名称、描述、简称 学校名称.xlsx 最终成果 步骤1:分析 所需要的学校信息,一般在百度百科里都有。所以先看看百度百科的数据能不能满足我们的要求。 先抽样找一个学校到百度百科看看情况 拿北京大学来说:英文名称、描述、简称 都可以在这一个界面中获取到。 然后所有的信息,在页面源码中也能看得到.

xkukeer的博客 1967

等时替代模型( Isotemporal Substitution Model)

文献阅读:Associations of sedentary time and physical activity with adverse health conditions: Outcome-wide analyses using isotemporal substitution model(该论文于2022年4月28日发表在柳叶刀子刊 EClinicalMedicine 上)

姚巨龙的博客 1万+

爬虫实战(一) 用Python爬取百度百科

最近博主遇到这样一个需求:当用户输入一个词语时,返回这个词语的解释 我的第一个想法是做一个数据库,把常用的词语和解释放到数据库里面,当用户查询时直接读取数据库结果

半虹小站 3343

VASPKIT绘制平面平均电荷差分密度

平面平均密度差(planar-averaged electron density difference)是密度差的衍生。密度差是个三维空间函数,经常通过绘制平面图、等值面图方式图形化考察。虽然这两种图很直观,但平面图会受到截面选取的影响,而等值面图会受到等值面数值(isovalue)选取的影响,因此都有一定任意性,也不容易定量讨论。对于电子转移有比较明确方向的情况,可以绘制平面平均密度差曲线,由此可以清楚地考察垂直于选取的方向上每个截面上的密度差积分值,在定量讨论、对比上比较便利。

weixin_43948934的博客 1万+

Webots+UR机械臂仿真全流程:手把手教你用Python实现Pick-and-Place轨迹规划

本文详细介绍了使用Webots和Python实现UR六自由度机械臂的Pick-and-Place轨迹规划全流程。从环境搭建、运动学正逆解计算到轨迹规划实战技巧,涵盖工业场景中的关节补偿、末端校准等实际问题解决方案,帮助开发者快速掌握机械臂精准控制技术。

weixin_29083649的博客 283

python 爬虫——针对query爬取百度百科页面

Preface:最近有些事情,需要爬取百度百科的东西,以前的给忘光了,不用就会忘记,还好有部分记录,可是以前大部分都因为没有记录又重新查找了很多东西,所以说经常记录很有必要。 coding: import codecs#用于打开文件夹保证编码格式 import urllib2#用于爬取 import re#用于匹配找到url import os#用于创建文件夹 from bs4

无限大地NLP_空木的专栏 3483

ICS v9.5 OverbyteIcsWSocket.pas 整体架构分析

核心架构:OverbyteIcsWSocket.pas 是 Internet Component Suite (ICS) 的基础网络组件单元,提供跨平台 Winsock API 封装,支持TCP/UDP 客户端/服务器,DNS 解析和Raw Socket。在 v9.5 中,SSL/TLS 代码已分离至 OverbyteIcsSslBase.pas 等单元,使核心单元更精简,专注于非加密 socket 操作。

sonadorje的专栏 992

用python 爬取百度百科内容-爬虫实战(一) 用Python爬取百度百科

最近博主遇到这样一个需求:当用户输入一个词语时,返回这个词语的解释我的第一个想法是做一个数据库,把常用的词语和词语的解释放到数据库里面,当用户查询时直接读取数据库结果但是自己又没有心思做这样一个数据库,于是就想到了百度百科这么一个现成的 “数据库”下面我们就通过 urllib 和 xpath 来获取百度百科的内容1、爬取百度百科百度百科是一个静态网页,爬取起来很简单,而且请求参数可以直接放在 UR...

weixin_37988176的博客 2053

MISRA C 详解 · 专栏06:2023 与 2025 更新总览(相对 2012 的差异)

本专栏 01~05 篇基于(143 规则 + 16 指令)。这六年间标准又前进了两步——(大改)和(微调)。本文补充说明「相对 2012,标准变在哪」,并给出新增规范的代表性示例。

XavierKong的博客 73

科研级YOLOv8 Neck革新:BiFPN双向特征金字塔赋能,让多尺度融合更高效的实战指南

在文件夹下新建BiFPN.py,将上述BiFPNLayer和BiFPN类的代码写入其中。这一步是为了让YOLOv8的代码架构能识别我们的自定义Neck模块。

m0_64661770的博客 153
上一篇: Python for Mysql
下一篇: 激活Pycharm
Joker_Chou
博客等级 码龄11年 2粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值