当前位置: 首页 > news >正文

有关天猫网站开发的论文个人网站主页建设教程

有关天猫网站开发的论文,个人网站主页建设教程,化妆品的网站建设,vi设计基础部分都有哪些目录 引言 一、网络爬虫的概念 二、 网络爬虫的基本工作流程 (一)过程: (二)安装requests模块和beautifulsoup4模块 (三)requests库的使用 1、requests库的基本介绍 2、导入requests库的…

目录

引言

一、网络爬虫的概念

二、 网络爬虫的基本工作流程

(一)过程:

(二)安装requests模块和beautifulsoup4模块

(三)requests库的使用

1、requests库的基本介绍

2、导入requests库的具体语法格式如下:

3、requests库网页请求方法

4、requests库的-Response对象

(四)beautifulsoup4库的使用

1、beautifulsoup4库的基本介绍

2、导入BeautifulSoup库的具体语法格式如下:

3、beautifulsoup4库的常用操作

4、元素中的文本信息往往是有用信息,下面将介绍用BeautifulSoup类解析HTML页面中的有用信息,分为: 节点选择器 方法选择器

4.1 节点选择器

4.2 方法选择器

三、实战:电影排行爬取及分析

1、获取网页

2、解析网页

3、存储数据

总结


引言

        网络爬虫是自动从互联网上抓取信息的工具,其应用范围十分广泛,特别是在大数据分析、搜索引擎优化和信息采集等领域中具有重要作用。通过网络爬虫,我们能够快速获取大量网页数据,并利用数据分析工具对信息进行深入的解析与处理。这次实验旨在学习和实践如何使用Python中的requests和beautifulsoup4库,完成从网页获取数据、解析数据到存储数据的完整流程。

一、网络爬虫的概念

      网络爬虫(Web Crawler)是按照一定的规则,自动地抓取万维网(World Wide Web,WWW)并获取信息的程序或脚本。在浏览器的网页中,除了供用户阅读的文字信息外,还包括一些超链接,网络爬虫可以通经过网页中的超链接不断地获得网络上的其它页面。网络数据采集的过程像爬虫在网络上漫游,因此得名为网络爬虫。

二、 网络爬虫的基本工作流程

简单的网络爬虫通常分为以下三个部分的内容:

数据采集:即获取网页中的数据;

数据处理:即进行网页解析;

数据存储:即将有用的信息持久化。

(一)过程:

  • 设定抓取目标(初始URL)并获取页面。
  • 不断地爬取页面,直到满足停止爬取的条件。
  • 对于获取的页面,进行网页下载,获得网页中的数据。获得网页中的数据需要用到Python中的requests模块。
  • 获取网页中的数据后,需要对此数据进行解析。进行网页解析需要用到Python中的beautifulsoup4模块。
  • 对于网页解析出来的数据,可以对有用的信息进行存储。有用的信息,可以存储在文件中,也可以存储在数据库中,还可以进行可视化的展示。

(二)安装requests模块和beautifulsoup4模块

pip install requests

pip install beautifulsoup4

(三)requests库的使用

1、requests库的基本介绍

        requests库的本质就是封装了urllib3模块,它可以模拟浏览器的请求,编写过程更接近正常URL的访问过程。requests库的宗旨是服务于人类(for human beings),具有以下功能特性:

  • 支持URL数据自动编码;
  • 支持HTTP连接保持和连接池;
  • 支持使用Cookie保持会话;
  • 支持文件分块上传;
  • 支持自动确定相应内容的编码;
  • 支持连接超时处理和流数据下载。

2、导入requests库的具体语法格式如下:

import requests

3、requests库网页请求方法

requests库中包含与HTTP协议的请求相对应的方法,即网页请求方法。

例如:

使用requests库中的get()方法访问网址http://www.mobiletrain.org

import requests

r = requests.get("http://www.mobiletrain.org")

print(type(r))

通过get()方法访问网址,返回了一个Response对象

                                      <class 'requests.models.Response'>

4、requests库的-Response对象

Response对象代表的是响应内容,其属性如下表所示。

  1. import requests
  2. r = requests.get("http://www.mobiletrain.org")
  3. r.encoding = r.apparent_encoding  # 自动检测编码
  4. content = r.content  # 使用content属性获取二进制内容
  5. print(content.decode('utf-8').encode('gbk', 'ignore').decode('gbk'))  # 先按utf-8解码,再按gbk编码打印

(四)beautifulsoup4库的使用

1、beautifulsoup4库的基本介绍

  • 通过requests库获取HTML页面内容后,需要进一步解析HTML格式,提取其中的有用数据。beautifulsoup4库是一个可以解析HTML或者XML文件的Python库,它具有以下三个特点
  • beautifulsoup4库提供了用于浏览、搜索和修改解析树的简洁函数,可以通过解析文档为用户提供需要抓取的数据。
  • beautifulsoup4库自动将输入文档稳定转换为Unicode编码,输出文档转换为utf-8编码。不需要考虑编码方式,除非文档没有指定编码方式,此时beautifulsoup4库不能自动识别编码方式,需要说明一下原始编码方式。
  • beautifulsoup4库能够为用户灵活地提供不同的解析策略或者是较快的交易速度。

2、导入BeautifulSoup库的具体语法格式如下:

beautifulsoup4库中最主要的是BeautifulSoup类,一般通过导入此类来解析网页内容。

from bs4 import BeautifulSoup

3、beautifulsoup4库的常用操作

导入BeautifulSoup类后,可以创建BeautifulSoup对象。

  1. import requests from bs4
  2. import BeautifulSoup
  3. url = "http://www.mobiletrain.org"
  4. r = requests.get(url)
  5. r.encoding = "utf-8"
  6. soup = BeautifulSoup(r.text,"html.parser")
  7. print(type(soup))

<class 'bs4.BeautifulSoup'>

4、元素中的文本信息往往是有用信息,下面将介绍用BeautifulSoup类解析HTML页面中的有用信息,分为: 节点选择器 方法选择器

        通过BeautifulSoup对象的属性可以选择节点元素,并获得节点的信息,这些属性与HTML的标签名称相同。

4.1 节点选择器

使用BeautifulSoup对象获得元素内容

  1. import requests from bs4
  2. import BeautifulSoup
  3. url = "http://www.mobiletrain.org"
  4. r = requests.get(url)
  5. r.encoding = "utf-8"
  6. soup = BeautifulSoup(r.text,"html.parser")
  7. print(soup.title)           #获取页面的<title>内容
  8. print(soup.p)               #获取页面的第一个<p>内容

<title>千锋教育-坚持教育初心,坚持面授品质,IT培训良心品牌</title>

<p class="bubble">小小千想和您聊一聊</p>

如果想要获得HTML标签中各个属性的内容,则需要通过Tag对象的属性去获取

使用BeautifulSoup对象获得标签的详细信息

  1. import requests from bs4
  2. import BeautifulSoup
  3. url = "http://www.mobiletrain.org"
  4. r = requests.get(url)
  5. r.encoding = "utf-8"
  6. soup = BeautifulSoup(r.text,"html.parser")
  7. print("<p>标签:",soup.p)
  8. print("<p>标签的名称:",soup.p.name)
  9. print("<p>标签的属性:",soup.p.attrs)
  10. print("<p>标签的子标签:",soup.p.contents)
  11. print("<p>标签包含的文本内容:",soup.p.string)

  • <p>标签: <p class="bubble">小小千想和您聊一聊</p>
  • <p>标签的名称: p
  • <p>标签的属性: {'class': ['bubble']}
  • <p>标签的子标签: ['小小千想和您聊一聊']
  • <p>标签包含的文本内容: 小小千想和您聊一聊

string属性应遵循以下原则:

标签内部嵌套多层标签时,string属性返回None;

标签内部有一个标签时,string属性返回内层标签包含的文本内容;

标签内部没有标签时,string属性返回其包含的文本内容。

4.2 方法选择器

        在HTML页面中,div、a、p等标签往往不止一个,节点选择器无法获得所有同名标签的内容,此时就要选择使用方法选择器。使用BeautifulSoup类中的方法可以获得HTML中的标签内容,主要的方法包括find()和find_all(),可以根据参数找到对应标签,返回列表类型。

BeautifulSoup.find(name,attrs,recursive,string) BeautifulSoup.find_all(name,attrs,recursive,string,limit)

find()和find_all()方法中的参数说明

        find()和find_all()的区别在于find()方法仅返回找到的第一个结果,而find_all()可以返回找到的所有结果,也就是说,find()方法相当于参数limit为1时的find_all()方法。

例:使用find_all()方法获得所有的<i>

import requests from bs4

  1. import requests from bs4
  2. import BeautifulSoup
  3. url = "http://www.mobiletrain.org"
  4. r = requests.get(url)
  5. r.encoding = "utf-8"
  6. soup = BeautifulSoup(r.text, "html.parser")
  7. for item in soup.find_all("i"):  
  8.        print(item.string, end=" ")

三、实战:电影排行爬取及分析

1、获取网页

        User-Agent(简称UA) 大量的爬虫请求会使服务器的压力过大,使得网页响应速度变慢,影响网站的政策运行,所以网站一般会检验UA来判断发起请求的是不是机器人。故需要自己设置UA进行简单伪装。

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64)

AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1"}

需要将此键值对传入requests库中的get()方法,获取网页的函数可以写成如下形式。

def get_html(url,headers):

    r = requests.get(url,headers=headers)

    html = r.text

2、解析网页

定位文本内容所在标签

标签中的有用内容

3、存储数据

将解析网页后获得的有用数据列表转换为字典元素形式,并存入JSON格式的文件中。

movie.json

爬取具体步骤:

1、选择网站

2、解析网页

3、定位标签所在位置

4、提取文本数据

5、筛选数据

6、存储数据

总结

        通过本次实验,深入理解了网络爬虫的基本原理和工作流程,掌握了使用Python编写爬虫的核心技术。实验过程中,我们学习了如何利用requests库获取网页内容,并通过beautifulsoup4库对HTML页面进行解析。此外,还学会了将爬取的数据进行存储,为后续的数据处理打下了坚实的基础。整个过程提升了我们在网络数据采集方面的实践能力,也为今后在大数据和信息处理领域的应用提供了宝贵经验。     

   

http://www.yayakq.cn/news/570523/

相关文章:

  • 惠州热门的网站网站怎么做百度认证
  • 大连建设安全网站优化seo可以从以下几个方面进行
  • 怎么用vps做网站明星百度指数在线查询
  • 上海哪家做网站关键词排名哈尔滨做网站企业
  • 兼职做网站这样的网站济南新网站优化
  • 网站新闻怎么写企业网站公示怎么做
  • 创业做网站需要哪些必备条件wordpress 分享 赞
  • hishop网站搬家如何做一个自己的电商平台
  • 东莞做工业产品网站建设南昌互联网网站开发
  • 敦煌网站销售员怎么做wordpress網頁版
  • 中国空间站航天员首次出舱网站内页百度提交口
  • 绿色软件园深圳百度seo关键词排名
  • 网站建设协议书是否贴花小程序开发需求方案
  • 郑州网站seo外包文字怎么生成网址链接
  • 攻略类型网站如何做产品营销龙岗网站设计信息
  • 免费看电视剧的网站在线观看企业信息管理平台系统
  • 天津河北做网站的公司c 网站开发数据库连接
  • 网站首页怎么做营业执照链接dw网页设计作业成品加解析
  • 网站可以做被告嘛中国建设银行阜阳分行网站
  • 怎么做电子商务的网站推广注册网站要多久
  • 泉州外贸网站开发公司手机访问网站跳wap
  • 凡科网之前做的网站在哪看wordpress友情链接样式
  • 做一个网站的费用构成网站运营维护的基本工作
  • 网站维护 网站后台建设知识想注册一个做网站的公司
  • 普通网站建设费用UltraEdit做网站教程
  • 合肥做网站大概多少钱数据分析师培训
  • 上海网站开发兼职做网商哪个国外网站好
  • 国外网站流量免费做网站公司哪家好
  • 外贸建站培训济宁网站建设制作设计
  • 关于百度网站的优缺点wordpress调用指定文章内容