爬虫基础
1.利用requests.get(url)获取网页页面的html文件
import requests
newsurl='http://news.gzcc.cn/html/xiaoyuanxinwen/'
res = requests.get(newsurl) #返回response对象
res.encoding='utf-8'
2.利用BeautifulSoup的HTML解析器,生成结构树
from bs4 import BeautifulSoup
soup = BeautifulSoup(res.text,'html.parser')
3.找出特定标签的html元素
soup.p #标签名,返回第一个
soup.head
soup.p.name #字符串
soup.p. attrs #字典,标签的所有属性
soup.p. contents # 列表,所有子标签
soup.p.text #字符串
soup.p.string
soup.select(‘li')
4.取得含有特定CSS属性的元素
soup.select('#p1Node')
soup.select('.news-list-title')
5.练习:
取出h1标签的文本
取出a标签的链接
取出所有li标签的所有内容
取出第2个li标签的a标签的第3个div标签的属性
取出一条新闻的标题、链接、发布时间、来源
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import requests from bs4 import BeautifulSoup re = requests.get( 'http://news.gzcc.cn/html/xiaoyuanxinwen/' ) re.encoding = 'utf-8' soup = BeautifulSoup(re.text, 'html.parser' ) for h1 in soup.find_all( 'h1' ): print (h1.text) for a in soup.find_all( 'a' ): print (a.attrs.get( 'href' )) for li in soup.find_all( 'li' ): print (li.contents) print (soup.find_all( 'li' )[ 8 ].a.find_all( 'div' )[ 2 ].attrs) print ( '标题:' + soup.select( '.news-list-title' )[ 1 ].text) print ( '链接:' + soup.select( 'a' )[ 13 ][ 'href' ]) print ( '发布时间:' + soup.select( '.news-list-info' )[ 1 ].span.text) print ( '来源:' + soup.select( '.news-list-info' )[ 1 ].select( 'span' )[ 1 ].text) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥