爬取腾讯新闻网新闻,并输出要闻、北京、财经、科技、娱乐、国际、军事、游戏、乐活模块新闻数据,每个模块爬取100条带图片的数据
时间: 2023-10-20 15:59:15 浏览: 78
好的,这是一个比较复杂的爬虫任务,需要使用到 Python 的 requests、beautifulsoup4、re 等库。以下是一个简单的爬虫代码示例,仅供参考:
```python
import requests
from bs4 import BeautifulSoup
import re
# 定义要爬取的模块和数量
categories = ["要闻", "北京", "财经", "科技", "娱乐", "国际", "军事", "游戏", "乐活"]
num_per_category = 100
# 定义正则表达式
image_pattern = re.compile(r'img src="([\s\S]*?)"')
# 遍历每个模块
for category in categories:
# 定义爬取的 url
url = f"https://new.qq.com/ch/{category}"
# 发送请求
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
articles = soup.find_all("div", {"class": "detail"})
# 遍历每篇新闻
for i, article in enumerate(articles):
# 只爬取带图片的新闻
if i >= num_per_category or article.find("img") is None:
break
# 获取字段
title = article.find("a").get_text().strip()
url = article.find("a")["href"]
image_url_match = image_pattern.search(str(article))
if image_url_match is not None:
image_url = image_url_match.group(1)
else:
image_url = None
# 打印信息
print(f"{category} {i+1}")
print(f"标题:{title}")
print(f"链接:{url}")
print(f"图片链接:{image_url}")
print()
```
这个代码会输出每个模块的前 100 条带图片的新闻的标题、链接和图片链接,可以根据需要修改代码以爬取更多信息。需要注意的是,腾讯新闻网的页面结构可能会发生变化,因此代码可能需要根据实际情况进行调整。