想在Python爬虫界大展拳脚?来,三个实战项目让你秒变高手!想象一下,你不仅能轻松抓取网页的丰富内容,仿佛把互联网的精华都收入囊中;还能精准揪出页面里藏着的所有链接,就像侦探一样穿梭在信息的迷宫;更绝的是,一键收集网页上的图片链接,让美图无所遁形,仿佛拥有了一双透视眼,直击视觉盛宴的源头。这不仅仅是对requests、BeautifulSoup、re模块的深度锤炼,更是面试时让面试官眼前一亮的绝技,让你在编程江湖里游刃有余,大放异彩!三个项目,一站式解锁爬虫高手之路,你准备好了吗?
抓取指定网页的HTML内容并打印出来。
requests库用于发送HTTP请求,BeautifulSoup库用于解析HTML。
# 导入所需的库
import requests # 用于发送HTTP请求
from bs4 import BeautifulSoup # 用于解析HTML
# 定义要抓取的网页URL
url = 'http://example.com' # 示例URL,请替换为实际要抓取的网页
# 发送HTTP GET请求
response = requests.get(url) # 获取网页的响应对象
# 检查请求是否成功
if response.status_code == 200: # 200表示请求成功
# 获取网页的HTML内容
html_content = response.text # 响应对象中的text属性包含HTML内容
# 使用BeautifulSoup解析HTML内容
soup = BeautifulSoup(html_content, 'html.parser') # 创建BeautifulSoup对象,指定解析器为html.parser
# 打印网页的标题(<title>标签内的内容)
print(soup.title.string) # 获取<title>标签并打印其内容
else:
print(f"请求失败,状态码:{response.status_code}") # 打印失败的状态码
<title>
标签并打印其内容。抓取指定网页中的所有链接并打印出来。
import requests
from bs4 import BeautifulSoup
url = 'http://example.com' # 示例URL
response = requests.get(url)
if response.status_code == 200:
html_content = response.text
soup = BeautifulSoup(html_content, 'html.parser')
# 查找所有的<a>标签
links = soup.find_all('a') # 返回一个包含所有<a>标签的列表
# 遍历列表并打印每个链接的href属性
for link in links:
href = link.get('href') # 获取<a>标签的href属性
if href: # 检查href属性是否存在
print(href) # 打印链接
else:
print(f"请求失败,状态码:{response.status_code}")
<a>
标签,并返回一个列表。<a>
标签的href属性,即链接地址。href:
:检查href属性是否存在,避免打印空值。抓取指定网页中的所有图片链接并打印出来。
import requests
from bs4 import BeautifulSoup
url = 'http://example.com' # 示例URL
response = requests.get(url)
if response.status_code == 200:
html_content = response.text
soup = BeautifulSoup(html_content, 'html.parser')
# 查找所有的<img>标签
images = soup.find_all('img') # 返回一个包含所有<img>标签的列表
# 遍历列表并打印每个图片的src属性
for image in images:
src = image.get('src') # 获取<img>标签的src属性,即图片链接
if src:
print(src) # 打印图片链接
else:
print(f"请求失败,状态码:{response.status_code}")
<img>
标签,并返回一个列表。<img>
标签的src属性,即图片链接地址。