赞
踩
# 模块(包、库)的使用都需要导包 import requests # 目标网站网址 URL = 'https://www.baidu.com' # Headers:标头,将Headers赋给爬虫,是为了将爬虫伪装成浏览器 # User-Agent:对应的值包含了浏览器、操作系统的各项信息 Headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36' } # 发送请求,得到响应结果 response = requests.get(url=URL, headers=Headers) # response变量中存储了目标网站服务器返回给我们的所有信息 print(response) print(response.status_code) # 查看状态码:status_code # 状态码可以查看此时目标网站服务器的状态 # 200:表示爬虫可用。(此处的网站不一定没发现你是爬虫) # 403:表示服务器知道我们的请求,但拒绝了我们(服务器发现我们是爬虫,拒绝了我们) # 400:网页没找到 # 500:服务器崩了 # 如果拿到的源代码出现了乱码,再添加这段代码 # 从网页源代码中找到编码方式,拿过来改变原来的编码即可。 # 小技巧:在输出区Ctrl + f,搜索charset response.encoding = 'utf-8' # 查看字符串类型的网页源代码:text print(response.text)
# 假设html_str就是requests拿到的字符串类型的网页源代码 html_str = """ <html> <head><title>The Dormouse's story</title></head> <body> <p class="title"> <b>The Dormouse's story</b> </p> <p class="story" id="story"> Once upon a time there were three little sisters; and their names were <a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>, <a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and <a href="http://example.com/tillie" class="sister" id="link3">Tillie<p>Test</p></a>; and they lived at the bottom of a well. </p> <p class="story" id="story">...</p> """
# 导入BeautifulSoup4模块
from bs4 import BeautifulSoup
# 使用BeautifulSoup方法针对于网页源代码进行文档解析,返回一个BeautifulSoup对象(树结构)
soup = BeautifulSoup(html_str, 'html.parser')
# html.parser? 解析过程需要一个解析器,html.parser是一个解析器。
# 已经将html源代码转化为了树结构
print(soup)
p_list = soup.select('p')
print(p_list)
p_list1 = soup.select('body > p')
print(p_list1)
p_list2 = soup.select('body p')
print(p_list2)
p = soup.select('body > p.title')
print(p)
p_list3 = soup.select('body > p#story')
print(p_list3)
text_str = soup.select('body > p:nth-child(2) > a#link3')[0].text
print(text_str)
text_str2 = soup.select_one('body > p:nth-child(2) > a#link3').text
print(text_str2)
# select_one拿到的是select结果中的第一个元素
href_str = soup.select('body > p:nth-child(2) > a#link3')[0].attrs['href']
print(href_str)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。