Python爬虫尝试——爬取文本信息

前序

最近想起来CSDN,便坚持着分享一些近期的实践吧
今天开篇前,分享一句话
心之所安,便是归处

爬虫分享

言归正传,下面谈一谈爬虫的信息
爬虫是一种自动化的程序,它模拟用户的行为,对网页发出请求,自动化地获取我们所需要的信息,对于信息检索十分重要,也比较便利。
它的步骤大概如下:

  1. 发送网络请求。笔者通常借助Python的库使用request实现,请求可以是POST/GET,视需求而定;
  2. 网页解析。获取到网页的内容后,需要对HTML的内容进行解析,笔者通常是利用BeautifulSoup来从网页中提取数据;
  3. 数据提取。完成解析后,我们需要对信息进行分析,检索出我们需要的信息,达到爬虫的目的。可以通过找到一些特定的标签和类,来提取相关的信息(可支持的有:图像、链接、文本等)
  4. 数据存储。当正确地处理好获取的信息后,要及时的将信息存储到计算机当中,避免丢失。为了方便起见,我们通常将其存入数据库当中。笔者对相关信息会下载或者存储到MySQL数据库当中;
  5. 动态变换网络链接。可以动态跟踪网页链接的变化,进而通过迭代递归实现多种信息的爬取;
  6. 反爬虫机制。为了防止过度访问,网页会做出限制。可通过设置请求头或者使用代理IP实现。

下面是一个爬虫的实例,笔者通过爬虫实现了文本信息的获取

import requests
from bs4 import BeautifulSoup

# 定义要爬取的新闻网站的URL
url = "https://www.example.com/news"

# 添加伪装的请求头信息
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
    "Referer": "https://www.example.com/",
    "Accept-Language": "en-US,en;q=0.9",
}

# 发送带有伪装请求头的HTTP请求获取网页内容
response = requests.get(url, headers=headers)

# 使用BeautifulSoup解析网页内容
soup = BeautifulSoup(response.content, "html.parser")

# 找到新闻标题和链接的HTML元素
news_elements = soup.find_all("a", class_="news-title")

# 遍历每个新闻元素并提取标题和链接
for news_element in news_elements:
    title = news_element.text
    link = news_element["href"]
    
    # 发送带有伪装请求头的HTTP请求获取新闻内容页的网页内容
    news_response = requests.get(link, headers=headers)
    
    # 使用BeautifulSoup解析新闻内容页的网页内容
    news_soup = BeautifulSoup(news_response.content, "html.parser")
    
    # 找到新闻内容的HTML元素
    content_element = news_soup.find("div", class_="news-content")
    
    # 提取新闻内容
    content = content_element.text
    
    # 打印新闻标题和内容
    print("标题:", title)
    print("内容:", content)

上述代码有完备的解释,如有疑问,欢迎在评论区留言
需要详细的爬虫代码见资源当中

结束语

本文的分享到这就结束啦,如果有其他需求,欢迎评论私信

心之所安,便是归处
长路漫漫,望不负此生!

你可能感兴趣的:(爬虫,python,爬虫)