以下是一个使用 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 选择器查找问题列表、问题标题、问题描述和答案。
- 打印问题的标题、描述和答案。
这个爬虫案例可以爬取知乎某个话题下的问题和答案,并打印出来。您可以根据实际需求修改代码,例如保存问题和答案到文件、存储到数据库等。
希望对你有帮助。谢谢支持哦。