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

省住房和城乡建设厅网站网站建设好找工作

省住房和城乡建设厅网站,网站建设好找工作,上海做网站建设的公司,上海川沙网站建设目录 1.bs4的安装 2.bs4的语法 #xff08;1#xff09;查找节点 #xff08;2#xff09;查找结点信息 3.bs4的操作 #xff08;1#xff09;对本地文件进行操作 #xff08;2#xff09;对服务器响应文件进行操作 4.实战 beautifulsoup#xff1a;和lxml一样…目录 1.bs4的安装 2.bs4的语法 1查找节点 2查找结点信息 3.bs4的操作 1对本地文件进行操作 2对服务器响应文件进行操作 4.实战 beautifulsoup和lxml一样是一个html的解析器主要功能也是解析和提取数据。 优缺点         缺点没有lxml效率高         优点接口更加人性化使用方便 1.bs4的安装 安装pip install bs4 导入 from bs4 import BeautifulSoup 2.bs4的语法 1查找节点 1.根据标签名查找节点        soup.a 【注】只能找到第一个               soup.a.name  标签a的名字即“a”               soup.a.attrs   标签a 的属性即“href”..” 2.函数        1.find(返回一个对象)               find(‘a’)只找到第一个 a 标签               find(‘a’, title’属性值’)               find(‘a’, class’属性值’)        2.find_all (返回一个列表)                 find_all(a’) 查找到所有的a                 find_all([aspan]) 返回所有的a和span                 find_all(alimit2) 只找前两个a         3.select(根选择器得到节点对象)【推荐】                 1. element                         eg:p                 2..class                         eg: .firstname                 3.#id                         eg:#firstname                 4.属性选择器                         [attribute]                 5.层级选择器                         ①后代选择器element element                                 div p                         ②子代选择器elementelement                                divp                         ③多项选择器element ,element                                 div,p                                         eg:soup soup.select(a,span) # 根据标签名查找节点 # 注意找到的是第一个符合条件的数据 print(soup.a) # a hrefhttps://... ida1BeautifulSoup/a # 获取标签名 print(soup.a.name) # a # 获取标签的属性和属性值 print(soup.a.attrs) # {href: https://..., id: a1}# bs4 的一些函数 # (1)find 返回的是第一个符合条件的对象 print(soup.find(a)) # a hrefhttps://... ida1BeautifulSoup/a # 根据属性值找到符合条件的标签对象 print(soup.find(a, ida2)) #a hrefhttp://... ida2lxml/a # 根据class查找标签对象注意class要加下划线class_因为这里的的class和定义类的class冲突了 print(soup.find(a,class_link))# (2)findAll 返回的是所有符合条件的对象的列表 # 找到所有符合条件的标签对象 print(soup.findAll(a)) # [a classlink hrefhttps://... ida1BeautifulSoup/a, a hrefhttp://... ida2lxml/a] # 获取多个标签需要在 findAll中添加列表的数据 print(soup.findAll([a,span])) # [a classlink hrefhttps://... ida1BeautifulSoup/a, spandemo/span, a hrefhttp://... ida2lxml/a] # 找前几个符合条件的数据 print(soup.findAll(a,limit1))# (3)select # select 返回的是所有符合条件的对象列表 print(soup.select(a)) # [a classlink hrefhttps://... ida1BeautifulSoup/a, a hrefhttp://... ida2lxml/a] # 可以通过 . 代表 class我们把这种操作叫做类选择器 print(soup.select(.link)) # [a classlink hrefhttps://... ida1BeautifulSoup/a] print(soup.select(#a1)) # [a classlink hrefhttps://... ida1BeautifulSoup/a]# 属性选择器 通过属性来寻找对应的标签 # 查找li标签中有class的标签 print(soup.select(li[class])) # [li classc1 idl1北京/li, li classc2 idl2上海/li] # 查找li标签中 id 为 l2 的标签 print(soup.select(li[idl2])) # [li classc2 idl2上海/li]# 层级选择器 # 后代选择器 # 找到 div 下面的 li print(soup.select(div li)) # [li classc1 idl1北京/li, li classc2 idl2上海/li, li ids1广州/li, li ids2深圳/li] # 子代选择器 # 某标签的第一级子标签 print(soup.select(div ul li)) # [li classc1 idl1北京/li, li classc2 idl2上海/li, li ids1广州/li, li ids2深圳/li] # 找到 a 标签 和 li 标签的所有对象 print(soup.select(a, li)) # [li classc1 idl1北京/li, li classc2 idl2上海/li, li ids1广州/li, li ids2深圳/li, a classlink hrefhttps://... ida1BeautifulSoup/a, a hrefhttp://... ida2lxml/a]2查找结点信息 1.获取节点内容: 适用于标签中嵌套标签的结构         obj.string         obj.get_text()[推荐] 2.节点的属性         tag.name 获取标签名                 eg:tagfind(li)                 print(tag.name)         tag.attrs将属性值作为一个字典返回 3.获取节点属性         obj.attrs.get(title)[常用]         obj.get(title)         obj[title] # 节点信息 # 获取节点内容 obj soup.select(#d2) # 如果 标签对象中只有内容那string和get_text()如果标签对象中除了内容还有标签那string就获取不到数据而get_text()可以获取到数据 # 推荐使用 get_text() print(obj[0].string) print(obj[0].get_text())# 节点的属性 # 标签的名字 obj soup.select(#p1) print(obj[0].name) # p # 将属性值作为一个字典返回 print(obj[0].attrs) # {id: p1, class: [p1]}# 获取节点的属性 obj soup.select(#p1)[0] print(obj.attrs.get(class)) # [p1] print(obj.get(class)) # [p1] print(obj[class]) # [p1] HTML文件 !DOCTYPE html html langen headmeta charsetUTF-8/titleTitle/title /head bodydivulli idl1 classc1北京/lili idl2 classc2上海/lili ids1广州/lili ids2深圳/lia hrefhttps://... ida1 classlinkBeautifulSoup/aspandemo/span/ul/diva hrefhttp://... ida2lxml/adiv id d2spantemp/span/divp idp1 classp1id和class都是p1怎么办/p /body /html 3.bs4的操作 bs4可以对服务器响应文件和本地文件进行操作 1服务器响应的文件生成对象 soup BeautifulSoupresponse.read().decode(),’lxml’ 2本地文件生成对象 soup BeautifulSoup(open(‘1.html’),’lxml’ 1对本地文件进行操作 from bs4 import BeautifulSoup# 通过解析本地文件讲解bs4 的基本语法 soup BeautifulSoup(open(_075.html,r,encodingutf-8),lxml)2对服务器响应文件进行操作 import urllib.requesturl https://www.starbucks.com.cn/menu/request urllib.request.Request(url) response urllib.request.urlopen(request) content response.read().decode(utf-8)from bs4 import BeautifulSoup # 通过解析本地文件讲解bs4 的基本语法 soup BeautifulSoup(content,lxml) 4.实战 获取豆瓣评分的 Top250。 from bs4 import BeautifulSoup import requests# 小demo # content requests.get(http://books.toscrape.com/).text # # html.parser 指定解析器,说明我们正在解析html内容 # soup BeautifulSoup(content,html.parser)# # findAll返回一个可迭代对象 # # 通过特有class查找元素 # all_price soup.findAll(p,attrs{class: price_color}) # # print(all_price) # for i in all_price: # # 只想要数字不想要标签,调用string属性 # print(i.string)# # 根据共有标签查找元素 # all_title soup.findAll(h3) # for i in all_title: # all_a soup.findAll(a) # # # 如果该标签下只有一个a元素那就直接用find提取这个元素就ok了,这样就能少写一个循环 # # a soup.find(a) # for link in all_a: # print(link.string)headers {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76 }for start_num in range(0,250,25):response requests.get(fhttps://movie.douban.com/top250?start{start_num}, headers headers)html response.textsoup BeautifulSoup(html,html.parser)all_title soup.findAll(span,attrs{class:title})for title in all_title:title_string title.stringif / not in title_string:print(title_string) 参考 尚硅谷Python爬虫教程小白零基础速通含python基础爬虫案例
http://www.hkea.cn/news/14292203/

相关文章:

  • 之路网站建设许昌网站开发公司
  • dedecms建设慕课网站oa厂家排名
  • 东莞网站制作咨询祥奔科技怎样做阿里巴巴网站
  • 汽车服务站建站流程wordpress优势
  • 长沙网站设计哪里好推广网站详细教程
  • 网站建设功能解说简单的网站设计
  • 网站备案服务码口令是什么意思济南建设工程
  • wordpress网站设置关键词设置怎样建官方网站
  • 建设部网站社保联网广州设计网站
  • 在做网站的公司做网站运营犯法吗网站如何被百度收录
  • 网站建设微信文章企业门户网站数据库设计
  • 重庆微信网站网站建设平台报价
  • 中文网站设计最近七天的新闻大事
  • 手机网站建设公外包公司的优势和劣势
  • 网站建设配图怎么判断一个网站做的好
  • 深圳市建网站乐清网站设计公司哪家好
  • 雅安建设局网站百度开放云 wordpress
  • 浙江人工智能建站系统软件做网站 还是淘宝店
  • 柳州做网站公司wordpress怎么添加用户中心页面
  • 免费空间网站网站设计画布规范1680
  • 做请帖网站医院网站后台模板
  • 做网站路由器映射外网全国企业公示信息公示网官网
  • 电脑优化青岛市做网站优化
  • asp网站建设教案兰坪建设公司网站
  • 安徽省工程建设信息官方网站wordpress免登录付费阅读
  • 郑州做网站推广电话网站开发维护
  • 做货代还有什么网站可以加人河南省工程建设信息官方网站
  • 营口建设工程质量监督站网站软件定制开发如何做
  • 成都h5建站运营推广计划表
  • 苏州企业网站制作报价徐州圣道网络科技有限公司