python爬虫,爬知乎,爬电影,爬网页。。

本文介绍了使用Python的requests和BeautifulSoup库进行网页抓取的三个案例,包括从新闻网站获取标题和链接、爬取豆瓣电影Top250的电影信息以及从知乎抓取问题和答案。这些示例展示了基础的网络请求、HTML解析和数据提取技术。
摘要由CSDN通过智能技术生成

请注意,在实际使用爬虫时,请遵守相关网站的使用条款和法律法规,确保爬取的数据用途合法合规。

一、爬取网页内容标题和链接

以下是一个使用 Python 编写的简单爬虫案例,用于从网页上获取新闻标题和链接:```python

import requests
from bs4 import BeautifulSoup

def get_news():
    # 发送 HTTP 请求获取网页内容
    response = requests.get("https://example.com/news")
    # 解析网页内容
    soup = BeautifulSoup(response.text, "html.parser")
    # 查找新闻标题和链接
    news_titles = soup.find_all("h2", class_="news-title")
    news_links = soup.find_all("a", class_="news-link")
    # 打印新闻标题和链接
    for title, link in zip(news_titles, news_links):
        print(title.text)
        print(link["href"])

get_news()

```

功能说明:
- 通过发送 HTTP 请求,获取指定网页的内容。
- 使用 BeautifulSoup 解析网页的 HTML 内容。
- 使用 CSS 选择器查找新闻标题和链接。
- 打印新闻标题和链接。

内容说明:
- 导入了 `requests` 库用于发送 HTTP 请求。
- 导入了 `BeautifulSoup` 类用于解析 HTML 内容。
- 定义了一个 `get_news` 函数,用于获取新闻标题和链接。
- 在 `get_news` 函数中,发送 HTTP 请求并获取网页内容。
- 使用 BeautifulSoup 解析网页内容,并使用 CSS 选择器查找新闻标题和链接。
- 使用 `zip` 函数将新闻标题和链接一一对应,并打印出来。

这个爬虫案例可以作为一个基础示例,用于获取网页上的特定内容。您可以根据实际需求修改代码,例如更改网页 URL、调整 CSS 选择器等,以适应不同的网页结构和数据提取需求。同时,还可以结合其他库和技术,例如正则表达式、数据库存储等,来进一步完善和扩展爬虫的功能。

二、爬取电影网的数据

以下是一个更复杂的 Python 爬虫案例,用于爬取豆瓣电影 Top250 的电影名称、评分和简介:```python

import requests
from bs4 import BeautifulSoup

def get_movie_details():
    # 发送 HTTP 请求获取网页内容
    response = requests.get("https://movie.douban.com/top250")
    # 解析网页内容
    soup = BeautifulSoup(response.text, "html.parser")
    # 查找电影列表
    movie_list = soup.find_all("div", class_="item")
    # 遍历电影列表,获取电影详情
    for movie in movie_list:
        # 获取电影名称
        title = movie.find("span", class_="title").text
        # 获取电影评分
        rating = movie.find("span", class_="rating_num").text
        # 获取电影简介
        intro = movie.find("span", class_="inq").text
        # 打印电影详情
        print("电影名称:", title)
        print("评分:", rating)
        print("简介:", intro)
        print()

get_movie_details()

```

功能说明:
- 通过发送 HTTP 请求,获取豆瓣电影 Top250 网页的内容。
- 使用 BeautifulSoup 解析网页的 HTML 内容。
- 使用 CSS 选择器查找电影列表、电影名称、评分和简介。
- 打印电影的名称、评分和简介。

内容说明:
- 导入了 `requests` 库用于发送 HTTP 请求。
- 导入了 `BeautifulSoup` 类用于解析 HTML 内容。
- 定义了一个 `get_movie_details` 函数,用于获取电影详情。
- 在 `get_movie_details` 函数中,发送 HTTP 请求并获取网页内容。
- 使用 BeautifulSoup 解析网页内容,并使用 CSS 选择器查找电影列表、电影名称、评分和简介。
- 打印电影的名称、评分和简介。

这个爬虫案例可以爬取豆瓣电影 Top250 的电影详情,并打印出来。您可以根据实际需求修改代码,例如保存电影详情到文件、存储到数据库等。同时,还可以结合其他库和技术,例如多线程或异步处理、反爬虫策略等,来进一步完善和提升爬虫的性能和稳定性。

三、爬取知乎上的问题

以下是一个更复杂的 Python 爬虫案例,用于爬取知乎某个话题下的问题和答案:

```python

import requests
from bs4 import BeautifulSoup

def get_topic_details(topic_url):
    # 发送 HTTP 请求获取话题页面内容
    response = requests.get(topic_url)
    # 解析页面内容
    soup = BeautifulSoup(response.text, "html.parser")
    # 查找问题列表
    question_list = soup.find_all("div", class_="QuestionItem")
    # 遍历问题列表,获取问题和答案
    for question in question_list:
        # 获取问题标题
        title = question.find("h2", class_="ContentItem-title").text.strip()
        # 获取问题描述
        description = question.find("div", class_="RichText").text.strip()
        # 获取答案列表
        answer_list = question.find_all("div", class_="RichContent-inner")
        # 打印问题和答案
        print("问题:", title)
        print("描述:", description)
        print("答案:")
        for answer in answer_list:
            print(answer.text.strip())
        print()

topic_url = "https://www.zhihu.com/topic/19552832/top-answers"
get_topic_details(topic_url)

```

功能说明:
- 通过发送 HTTP 请求,获取指定话题页面的内容。
- 使用 BeautifulSoup 解析页面的 HTML 内容。
- 使用 CSS 选择器查找问题列表、问题标题、问题描述和答案。
- 打印问题和答案。

内容说明:
- 导入了 `requests` 库用于发送 HTTP 请求。
- 导入了 `BeautifulSoup` 类用于解析 HTML 内容。
- 定义了一个 `get_topic_details` 函数,用于获取话题下的问题和答案。
- 在 `get_topic_details` 函数中,发送 HTTP 请求并获取页面内容。
- 使用 BeautifulSoup 解析页面内容,并使用 CSS 选择器查找问题列表、问题标题、问题描述和答案。
- 打印问题的标题、描述和答案。

这个爬虫案例可以爬取知乎某个话题下的问题和答案,并打印出来。您可以根据实际需求修改代码,例如保存问题和答案到文件、存储到数据库等。

希望对你有帮助。谢谢支持哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术探秘者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值