干货教程: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、每周更新,保证客户利益。