干货教程:Python之网络数据采集入门常用模块初识

优采云 发布时间: 2022-10-08 17:15

  干货教程:Python之网络数据采集入门常用模块初识

  网络数据采集

  是指通过程序在因特网上自动采集数据,用于采集数据的程序又称网络爬虫。本文主要记录一些常用模块采集在线数据及其简单相关操作。

  文章目录

  ⚪urllib 模块及其请求子模块

  urllib是网络数据采集中不可或缺的模块,收录在Python标准库中。在 Python 3.x 中,网址模块有四个子模块:网址图书馆请求、网址图书馆解析、网址图书馆错误和网址图书馆机器人分析器。

  官方网站文档引用了→

  其中,urllib.request是打开和访问URL上数据的最重要模块,包括网址打开(),网址检索和请求等功能。

  网络数据采集首先通过 URL 向 Web 服务器发出请求,然后解析返回的数据。

  请求模块中的网址打开函数用于打开网址、HTTPS、FTP协议的网址,并接收返回的网址资源,语法如下:

  urllib.request.urlopen(url, data=None, [超时, ]*, cafile=无, capath=无, 卡迪夫特=假, 上下文=无)

  参数网址可以是字符串(网址地址)或请求对象;以发布方式提交URL时使用参数数据;超时是超时设置;以 ca 开头的参数都与身份验证相关,不常用。

  该函数返回一个响应对象。响应对象是一个类似文件的对象,可以像文件对象(如 read())一样运行,此外,Response 对象还有其他几个方法,其示例如下:

  '''request 获取网站基本信息'''

with request.urlopen('http://www.sohu.com') as f: # 打开网络协议的URL,返回的是Response对象

print(f.geturl(), "\n") # 返回response的URL信息,常用于URL重定向

print(f.info, "\n") # 返回response的基本信息

print(f.getcode(), "\n") # 返回response的状态代码,(200表示成功返回网页,404表示请求的网页不存在,503表示服务器暂时不能用)

data = f.read() # 对response类文件对象进行读取

print(data.decode('utf-8')) # 对读取的信息解码输出

  输出如下:

  互联网上的数据文件可以通过URL向Web服务器发出请求,如果请求成功,则可以下载数据。urllib.请求模块中的重新执行函数用于下载具有指定 URL 地址的文件,语法如下:

  检索(网址,文件名-无,报告钩子=无)

  url是指定的URL地址;文件名是保存的路径和文件名,如果默认是随机生成的文件名并保存到临时目录;报告挂钩用于调用显示下载进度的函数。

  示例如下:

  '''网络数据文件下载,retrieve函数'''

# 下载网页的html文件

url = "http://baidu.com"

request.urlretrieve(url, "D:/tmp/baidu.html")

# 下载图片、视频等文件只要有找到对应网址,保存路径的文件后缀名写成对应的就行

url = "https://gimg3.baidu.com/***/*****.jpeg"

request.urlretrieve(url, "D:/tmp/baidup.jpg")

  ⚪请求模块

  请求是用Python编写的第三方模块,擅长处理复杂的HTTP请求,Cookie,标头(响应标头和请求标头)等。

  

  文档参考→

  (中文)。

  文档非常简洁易懂,下面是一个简单的示例:

  '''requests模块获取网站信息'''

import requests

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.12151 SLBChan/30' # 请求头的用户代理

headers = {'User-Agent': user_agent} # 设置请求头参数

response = requests.get('https://www.baidu.com/', headers=headers)

print(response.status_code) # 返回状态码

print(response.headers) # 响应头,返回一个字典

print(response.encoding) # 根据响应头信息获得的响应内容的编码类型

print(response.text) # 字符串形式的响应内容

print(response.content) # 二进制形式的响应内容

print(response.cookies) # 获取所有cookie信息

  ⚪美丽的汤包

  制备:

  美丽汤是一个通常用于网页数据解析的Python包,它使用现有的HTML / XML解析器(HTML解析器,lxml,html5lib等)来解析HTML或XML文档。有关详细信息,请参阅其解释性文件 - (1)。

  (二)

  可以在命令行上使用 Pip 安装 bs4 来下载和安装最新版本的美女汤包。

  美丽汤支持Python标准库中的HTML解析器,以及一些第三方解析器,其中一个是lxml,也可以通过pip安装lxml下载安装。

  用:

  通过将 HTML 代码的字符串或文档传递到美丽汤的构造函数方法中,可以获取一个美丽苏普对象,并使用其相关方法来执行相关操作。

  例:

  html_doc = request.urlopen('http://www.baidu.com') # 获取一个html文档的对象

soup = BeautifulSoup(html_doc, "html.parser") # 利用Python标准库中的解释器html.parser解析html_doc对象

print(soup.prettify()) # 按照标准格式输出

print(soup.html.head.title) # 返回title标签,输出为:百度一下,你就知道

print(soup.html.body.div) # 返回div标签

  美丽苏普对象的find_all()[查找()] 方法,该方法分别用于查找当前节点下的所有符合条件的元素。语法为:find_all(名称、attrs、递归、字符串、**kwargs)

  例:

  soup.find_all("a") # 返回标签名称为a的元素组成的列表

soup.find_all("p", {"class": ["text-color", "lh"]}) # 返回class值为"text-color"和"lh"的P标签内容

<p>

返回</p>

  的标记对象的find_all方法

  get_text() 函数返回标签内容的字符串,标签对象的 attrs 属性返回所有属性的字典,并且字典键可以返回相应的属性值。

  示例(获取百度网站上的超链接地址):

  links = soup.find_all("a")

for link in links: # 通过循环一条条输出标签内容对应的属性值

print(link.get_text())

print(link.attrs["href"])

  输出如下:

  ⚪你得到的套餐

  你得到什么:从流行的网站下载图像,音频,视频,如YouTube,YouTube,比利比利等。

  使用您可以在cmd界面中下载视频和其他资源,您可以参考这两篇博客文章(1)。

  (二)

  输入命令 (-h) 以获取您的帮助手册:

  你得到 -h

  输入命令直接下载视频:您将获得...(保存视频的网址

  )。

  输入命令 (-i) 查看视频详细信息:您获取 -i ...(保存视频的网址

  )。输入命令 (-

  o) 将视频下载到指定路径(注意:-O 设置下载文件的名称):

  你得到 -o D:/tmp ...(保存视频的网址

  )。

  它也可以用python代码编写来执行:

  import sys

import you_get

cookies = "cookies.sqlite" # 下载会员视频时需要获取cookie

path = "D:/tmp/video" # 下载后保存路径

url = "https://www.bilibili.com/..." # 下载视频的网址

sys.argv = ["you-get", "--playlist", "-o", path, url] # 将列表传入命令行执行(加上"--playlist"可一次下载多个视频)

# 这里,sys.argv是一个列表对象,其中可包含被传递给Python脚本的命令行参数。

you_get.main()

  完成!

  干货教程:文章内容网站管理系统与建站养站大师下载评论软件详情对比

  网站建设者和维护大师是一个独特的 seo 软件。通过模拟个人博客作为cms信息发布网站,达到吸引搜索引擎,带来大量流量,给建站者带来广告收入的目的。

  网站建设者通常希望能够快速轻松地构建网站,并在短时间内拥有高流量。于是,我开始使用市面上流行的cms程序搭建网站,然后通过它的采集系统大量采集文章在上网并发表。(比较常见的有东一cms、dedecms等)但是众所周知,百度对这种超过100万人使用的免费cms系统视而不见. 你一定会发现,再怎么努力维护你的网站,你也看不到百度的收录,或者收录没了之后,排名根本就没有提升。为什么是这样?很简单,搜索引擎不喜欢大众常见的东西,你必须有自己的独创性和自己的特点。使用“时清垃圾站*敏*感*词*和站长”解决您的所有问题。

  Station Builder和Maintenance Master的特点:

  1、采用极少数人使用的博客系统,与搜索引擎的亲密度极佳;

  

  2、开启最先进的云端采集技术,不同于以往的cms采集,只能以网站采集为单位进行。我们可以像百度和谷歌一样关注关键词采集文章;

  3、借助启发式伪原创系统,采集返回的文章可以模拟为搜索引擎认为是原创的文章 ;

  4.可以设置自动外链和自动广告。当你的流量来了,你就可以轻松赚钱;

  5、建站、维护过程实时监控,所见即所得,建站、维护站骗不了你;

  6、高性能代码是保证建站和维护高效率的前提;

  

  7.将博客模拟成cms文章的管理系统,国内领先,早使用受益;

  8. 多核运行和蓝晶系列seo软件一样无望和不利;

  9、一键启动,整个过程自动化,一键搞定,绝对方便;

  10、每周更新,保证客户利益。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线