python 爬虫新手入门教程
python,爬虫,新手入门,教程
2025-04-01 16:27:56 时间
大家好,又见面了,我是你们的朋友全栈君。
python 爬虫新手教程
一、什么是爬虫
爬虫就是把一个网站里的内容读取下来
这里我们就要学习一个知识
我们看到的网页是有一种叫HTML的语言编写的
他可以给文字显示不同的样式
如:<p>hello</p> 就会显示段落:hello
二、如何获取网页的内容
一般爬虫不会把网页内容爬下来
而是把网页源代码爬下来
就好比说:hello 会爬到 <p>hello</p>
如果要在浏览器上看源代码
只需在网页上右键点击 选择查看网页源代码即可
那么怎么用python把源代码爬下来呢?
这是要下载一个模块
在cmd里输入:
pip install requests
然后就可以用模块requests爬网页了
import requests # 导入模块
url = 'https://sina.com.cn' # 要爬的网址
html = requests.get(url) # 获取网页源代码
print(html.text) # 输出 注:需要text函数来返回源代码
输出:
细心的人可以看到后面的代码有编码问题
要把代码转成utf-8中文编码
import requests
url = 'https://sina.com.cn'
html = requests.get(url)
html.encoding = 'utf-8' # 将编码设为utf-8中文编码
print(html.text)
输出
三、分析源代码
最后要在源代码中筛选出我们要的数据
需要用到模块 lxml
在cmd里输入:
pip install lxml
然后就要使用lxml来筛选数据
import requests
from lxml import etree
url = 'https://sina.com.cn'
html = requests.get(url)
html.encoding = 'utf-8'
element = etree.HTML(html.text) # 获取html
result = element.xpath('//a/text()') # 进行筛选
for i in result:
print(i) # 输出
输出:
其中核心语句是
result = element.xpath(‘//a/text()’)
而 //a/text() 的意思是获取所以的a标签的值
而常用的xpath语法如下
nodename 选取此节点的所有子节点 / 从当前节点选取直接子节点 // 从当前节点选取子孙节点 . 选取当前节点 .. 选取当前节点的父节点 @ 选取属性 * 通配符,选择所有元素节点与元素名 @* 选取所有属性 [@attrib] 选取具有给定属性的所有元素 [@attrib=’value’] 选取给定属性具有给定值的所有元素 [tag] 选取所有具有指定元素的直接子节点 [tag=’text’] 选取所有具有指定元素并且文本内容是text节点
四、筛选实例
如果要在sina.com.cn读取部分新闻
那么要在键盘上按下F12
点左上角的按钮
鼠标悬停在新闻上再点击
在代码栏中找新闻
再找到所有新闻的父元素
这里可以看到ul的class为list-a news_top
在python中写:
import requests
from lxml import etree
url = 'https://sina.com.cn'
html = requests.get(url)
html.encoding = 'utf-8'
element = etree.HTML(html.text)
result = element.xpath('//ul[@class="list-a news_top"]//a/text()') # 进行筛选
for i in result:
print(i)
输出
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155837.html原文链接:https://javaforall.cn
相关文章
- Python爬虫之urllib
- Python - 手把手教你用Scrapy编写一个爬虫
- Python 爬虫 NO.1 URI和URL
- Python获取时间戳_python爬虫时间戳
- Python爬虫之验证码识别
- Python 有道翻译爬虫,破解 sign 参数加密反爬机制,解决{"errorCode":50}错误
- Python爬虫之fiddler手机抓包
- Python爬虫之scrapy框架
- Python 爬虫 NO.2 HTTP 和 HTTPS
- Python爬虫之xpath语法及案例使用
- Python "爬虫"出发前的装备之二数据先行( Requests 模块)
- mac pycharm安装设置_python爬虫 | mac系统PyCharm的安装「建议收藏」
- 【Python】 "爬虫"出发前的装备之一正则表达式
- Python爬虫(全)
- python 网络爬虫入门(一)———第一个python爬虫实例
- Python 爬虫 NO.4 HTTP 响应状态码
- Python爬虫系列:爬取小说并写入txt文件
- origin安装嵌入python_python爬虫之git的使用(origin说明)
- Python爬虫之BeautifulSoup
- python和pythoncharm有什么区别_python为什么叫爬虫