python爬取http://www.people.com.cn/人民网
时间: 2024-10-03 17:01:13 浏览: 40
在Python中,你可以使用requests库来发送HTTP请求,并结合BeautifulSoup或者lxml库解析HTML内容,以便爬取网页数据。下面是一个简单的例子,展示如何爬取"人民网"首页的部分信息:
```python
import requests
from bs4 import BeautifulSoup
url = "http://www.people.com.cn/"
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
# 使用BeautifulSoup解析HTML
soup = BeautifulSoup(response.text, 'html.parser')
# 找到特定的元素,这里以新闻标题为例
title_elements = soup.find_all('h2', class_='title') # 假设标题有特定CSS类
for title in title_elements:
print(title.text) # 打印每个标题的内容
else:
print("请求失败,状态码:", response.status_code)
相关问题
1. 爬取人民网首页http://www.people.com.cn/国际 · 军事 模块下的新闻标题和出现的图片。
好的,以下是针对该需求的Python爬虫代码实现:
```python
import requests
from bs4 import BeautifulSoup
url = "http://www.people.com.cn/"
response = requests.get(url)
response.encoding = 'gbk'
soup = BeautifulSoup(response.text, "html.parser")
# 获取“国际·军事”模块下的新闻链接
module = soup.find("div", class_="ej_channel")
news_links = module.find_all("a")
for link in news_links:
if link.get("href") and "world" in link.get("href") and "people" in link.get("href"):
news_url = link.get("href")
break
# 进入新闻页面并获取新闻标题和图片
response = requests.get(news_url)
response.encoding = 'gbk'
soup = BeautifulSoup(response.text, "html.parser")
title = soup.find("h1").text
print("新闻标题:", title)
images = soup.find_all("img")
for image in images:
if image.get("src") and "http" in image.get("src"):
print("新闻图片:", image.get("src"))
```
解释一下代码实现的思路:首先,我们访问人民网首页并获取页面内容,然后使用BeautifulSoup库解析页面。通过查看页面源代码,我们可以发现“国际·军事”模块下的新闻链接是通过a标签的href属性指定的。找到该模块的div标签,遍历其中的所有a标签,通过判断href属性中是否包含“world”和“people”字符串来确定是否是我们需要的新闻链接。最后,进入新闻页面,通过查看页面源代码,我们可以发现新闻标题是通过h1标签包含的文本来指定的,而新闻图片则是通过img标签的src属性指定的。因此,我们可以使用BeautifulSoup库的find和find_all方法来获取这些信息,最终输出到控制台。
python爬取人民网
要爬取人民网的内容,可以使用Python中的requests和BeautifulSoup库。
首先,使用requests库发送HTTP请求获取网页内容:
```python
import requests
url = "http://www.people.com.cn/"
response = requests.get(url)
html = response.text
```
然后,使用BeautifulSoup库解析网页内容,获取需要的信息:
```python
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, "html.parser")
# 获取新闻标题和链接
news_list = soup.select(".p2_2 a")
for news in news_list:
title = news.get_text()
link = news.get("href")
print(title, link)
```
以上代码可以获取人民网主页上的新闻标题和链接。如果需要爬取其他页面的内容,可以修改url变量的值为目标页面的URL。注意,爬取网页时需要遵守相关的法律法规和网站的规定,不得非法获取和使用网站的内容。
阅读全文