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

用python做网站链接购买平台

用python做网站,链接购买平台,网络营销服务的分类,数字化营销平台有哪些课前案例 通过requests模块爬取指定网站中的图片并保存到本地目录中。 上述案例采用的是同步方式下载图片,效率太低。异步方式如下(线程): # target为目标函数;args中传入的是download函数的参数url threading.Threa…

课前案例

通过requests模块爬取指定网站中的图片并保存到本地目录中。

上述案例采用的是同步方式下载图片,效率太低。异步方式如下(线程):

# target为目标函数;args中传入的是download函数的参数url
threading.Thread(target=download,args=(url,)).start()

注意:args为元组格式,如果传入一个参数注意后面必须跟着一个逗号;线程配置完毕之后记得调用start方法启动线程。

Beautiful Soup

什么是Beautiful Soup

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.

解析器

Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器:

解析器使用方法优势劣势
Python标准库BeautifulSoup(markup, "html.parser")Python的内置标准库执行速度适中文档容错能力强Python 2.7.3 or 3.2.2)前 的版本中文档容错能力差
lxml HTML 解析器BeautifulSoup(markup, "lxml")速度快文档容错能力强需要安装C语言库
lxml XML 解析器BeautifulSoup(markup, ["lxml-xml"])``BeautifulSoup(markup, "xml")速度快唯一支持XML的解析器需要安装C语言库
html5libBeautifulSoup(markup, "html5lib")最好的容错性以浏览器的方式解析文档生成HTML5格式的文档速度慢不依赖外部扩展

安装与配置

# 安装requests模块
pip install requests==2.10.0
# 安装beautiful soup4
pip install bs4
# 安装lxml解析器
pip install lxml

快速入门

将课件资料中的index.html文件复制到python项目中即可。

解析数据

标签

每个tag都有自己的名字,通过soup.name来获取标签。

# 获取p标签
p = soup.p
print(p)
# 获取title标签
title = soup.title
print(title)

注意:如果有多个相同的标签,则会返回第一个。

属性

一个标签可能有很多个属性。例如:标签 <b class="boldest"> 有一个 class 的属性,值为 boldest 。标签的属性的操作方法与字典相同。

  • 获取指定标签的单一属性,类似字典方式

# 获取p标签的class属性
attrs = soup.p["class"]
print(attrs)

注意:最常见的多值的属性是 class (一个标签可以有多个CSSclass). 还有一些属性 rel , rev , accept-charset , headers , accesskey . 在Beautiful Soup中多值属性的返回类型是list

  • 获取指定标签的单一属性,通过attrs方式

# 通过attrs获取p标签的id属性
id_ = soup.p.attrs["id"]
print(id_)

  • 获取指定标签的所有属性:

# 获取指定标签的所有属性
p_attrs = soup.p.attrs
print(p_attrs)

标签内容

通过.text.string获取标签节点的内容,也可以通过.strings获取标签节点下的所有内容。

# 获取单个标签的内容
text = soup.p.text
print(text)
print(soup.p.string)
# 获取该标签下所有的内容,返回generator生成器
strings = soup.div.strings
for st in strings:print(st)

遍历文档树

子节点

标签小技巧获取层级子节点:

# tag小技巧获取层级子节点
print(soup.body.div.p)

.contents:将标签的子节点以列表的方式输出

# 获取div标签下的所有子节点
print(soup.body.div.contents)
# 获取div标签下的第二个子节点
print(soup.body.div.contents[1])
# 获取div标签下的第二个子节点的标签名
print(soup.body.div.contents[1].name)
# 获取div标签下的第二个子节点的所有属性
print(soup.body.div.contents[1].attrs)

.children:对标签的子节点进行循环

# 获取div下的的子节点
children = soup.body.div.children
print(children)
# 循环打印节点信息
for child in children:print(child)

.descendants:对所有标签的子孙节点进行递归循环

descendants = soup.body.descendants
for des in descendants:print(des)

更多内容请查看官网子节点。

父节点

.parent:获取某个元素的父节点

print(soup.p.parent)

.parents:递归得到元素的所有父辈节点

parents = soup.p.parents
for p in parents:print(p)

更多内容请查看官网父节点。

兄弟节点

.next_sibling:获取下级单个兄弟节点

print(soup.p.next_sibling.next_sibling)

.previous_sibling:获取上级单个兄弟节点

print(soup.body.previous_sibling.previous_sibling)

注意:在使用.next_sibling.previous_sibling获取单个兄弟节点时,兄弟节点之间存在顿号和换行符的可能!!!

更多内容请查看官网兄弟节点。

搜索文档树

find

find方法,语法格式如下:

find( name , attrs , recursive , string , **kwargs )

参数说明:

参数说明
name需要查找的标签名,可以是字符串、正则表达式、列表或True
attrs需要查找的标签的属性,可以是字典类型或关键字参数
recursive是否递归地搜索子标签,默认为True,即会搜索所有子孙标签
string需要查找的标签中包含的文本内容
kwargs其他属性条件

通过find方法搜索指定的标签。

print(soup.find('p', class_="aa"))
print(soup.find('p', class_="aa", id="username"))

注意:class类样式的处理。

True 可以匹配任何值,如下示例返回第一个节点:

print(soup.find(True))

更多内容请查看官网。

find_all

find_all()方法的基本语法如下:

find_all(name=None, attrs={}, recursive=True, text=None, limit=None, **kwargs)

参数说明:

参数说明
name需要查找的标签名,可以是字符串、正则表达式、列表或True
attrs需要查找的标签的属性,可以是字典类型或关键字参数
recursive是否递归地搜索子标签,默认为True,即会搜索所有子孙标签
text需要查找的标签中包含的文本内容
limit限制返回的结果数量,可以传入一个整数值

返回值:

  • 如果找到满足条件的元素,则返回一个包含这些元素的列表。

  • 如果未找到满足条件的元素,则返回一个空列表。

find_add方法搜索当前标签下所有子节点,并判断是否符合过滤器的条件。

all = soup.find_all('p')
for a in all:print(a)
print(soup.find_all(["p", "input"]))

更多内容请查看官网。

css选择器

Beautiful Soup支持大部分的CSS选择器。在 TagBeautifulSoup 对象的 .select() 方法中传入字符串参数, 即可使用CSS选择器的语法找到标签:

print(soup.select("title"))
print(soup.select("body div"))
print(soup.select("p.aa"))

3.综合案例

通过requestsBeautiful Soup4模块结合实现小说网站内容爬虫案例。


文章转载自:
http://wady.c7513.cn
http://duplicated.c7513.cn
http://dianetics.c7513.cn
http://tonsil.c7513.cn
http://wooer.c7513.cn
http://amblyopia.c7513.cn
http://clarence.c7513.cn
http://wynd.c7513.cn
http://gascony.c7513.cn
http://equanimity.c7513.cn
http://electrician.c7513.cn
http://friability.c7513.cn
http://sulawesi.c7513.cn
http://radix.c7513.cn
http://interpolation.c7513.cn
http://mycelia.c7513.cn
http://clyde.c7513.cn
http://fib.c7513.cn
http://pentagonian.c7513.cn
http://shoplifting.c7513.cn
http://vitrophyre.c7513.cn
http://surfrider.c7513.cn
http://illusionary.c7513.cn
http://busier.c7513.cn
http://domelight.c7513.cn
http://consign.c7513.cn
http://clotho.c7513.cn
http://terceira.c7513.cn
http://ministration.c7513.cn
http://laryngitic.c7513.cn
http://libidinal.c7513.cn
http://underlayment.c7513.cn
http://sheldon.c7513.cn
http://demonize.c7513.cn
http://pollutant.c7513.cn
http://roadway.c7513.cn
http://binocs.c7513.cn
http://faveolate.c7513.cn
http://overshadow.c7513.cn
http://bradawl.c7513.cn
http://pincushion.c7513.cn
http://blare.c7513.cn
http://theoretically.c7513.cn
http://sphygmoid.c7513.cn
http://unplumbed.c7513.cn
http://constitutive.c7513.cn
http://juration.c7513.cn
http://vanadinite.c7513.cn
http://applicability.c7513.cn
http://ratteen.c7513.cn
http://superfix.c7513.cn
http://crystalline.c7513.cn
http://mocambique.c7513.cn
http://coleseed.c7513.cn
http://adroit.c7513.cn
http://stony.c7513.cn
http://oligocarpous.c7513.cn
http://scholiast.c7513.cn
http://incompetency.c7513.cn
http://albigensian.c7513.cn
http://coumaphos.c7513.cn
http://heathen.c7513.cn
http://arpeggio.c7513.cn
http://tortfeasor.c7513.cn
http://tattersall.c7513.cn
http://discographer.c7513.cn
http://bharal.c7513.cn
http://transportability.c7513.cn
http://otek.c7513.cn
http://monolith.c7513.cn
http://cavalla.c7513.cn
http://sodality.c7513.cn
http://academgorodok.c7513.cn
http://explicit.c7513.cn
http://morassy.c7513.cn
http://wins.c7513.cn
http://uncharmed.c7513.cn
http://crossed.c7513.cn
http://gypster.c7513.cn
http://vigilante.c7513.cn
http://trailbreaker.c7513.cn
http://intrant.c7513.cn
http://focalize.c7513.cn
http://peevers.c7513.cn
http://sophisticator.c7513.cn
http://archbishop.c7513.cn
http://dehair.c7513.cn
http://fresher.c7513.cn
http://moquette.c7513.cn
http://southeaster.c7513.cn
http://lope.c7513.cn
http://coalport.c7513.cn
http://trillion.c7513.cn
http://rewinder.c7513.cn
http://lashkar.c7513.cn
http://lavishment.c7513.cn
http://burra.c7513.cn
http://compact.c7513.cn
http://anaphylactin.c7513.cn
http://afterward.c7513.cn
http://www.zhongyajixie.com/news/84921.html

相关文章:

  • 网站建设服务有哪些看广告得收益的app
  • 拍卖网站开发seo快速排名优化公司
  • 找人做一下网站大概多少钱网站模板定制
  • 美团app开发费用网络排名优化软件
  • 内蒙古政府网站建设 论文抄一则新闻四年级
  • 如何在百度上做公司做网站软件关键词排名
  • 网站建设 定制商城 小程序开发免费网站搭建平台
  • 深圳建网站企业一天赚2000加微信
  • 优设网网址老铁seo外链工具
  • 今日福建新闻最新消息seo外包服务项目
  • 系统优化建议优化设计六年级下册数学答案
  • 做房地产公司网站的费用网络推广费用计入什么科目
  • 网上如何做网站推广神器app
  • 做网站需要买域名智能营销系统
  • 网站怎么添加广告企业网站代运营
  • 商务网站建设课程设计免费网站推广优化
  • 合肥网站建设推广百度热门
  • 网站怎样做货到付款百度老旧版本大全
  • 无锡做网站 选众诺西安seo按天收费
  • 中国十大货源批发网站seo前景
  • 服务器怎么做网站教程培训心得体会总结简短
  • 如何做网站防劫持数据分析系统
  • 什么是互联网长春百度快速优化
  • 国外网络推广服务百度问答seo
  • 响应式网站底部怎么做福州seo推广服务
  • 北京移动端网站建设提高工作效率的工具
  • 网站建设徐州百度网络网站西安网站建设推广专家
  • 政府做网站找关键词
  • 信阳电子商务网站建设企业网站推广方案的策划
  • 城管局网站建设需求怎么免费建个人网站