python爬取CSDN中有关键词整人的链接和阅读量并输出。代码
时间: 2023-09-15 07:05:32 浏览: 86
### 回答1:
下面是爬取CSDN中关键词为"整人"的文章链接和阅读量的Python代码:
```python
import requests
from bs4 import BeautifulSoup
keyword = "整人"
url = f"https://so.csdn.net/so/search/s.do?q={keyword}&t=blog&u=&sort=relevance&p=1"
res = requests.get(url)
soup = BeautifulSoup(res.text, 'html.parser')
for item in soup.select('.search-list .search-item .search-content'):
title = item.select('.search-title a')[0].text
link = item.select('.search-title a')[0]['href']
views = item.select('.search-info span')[0].text
print(f'标题: {title}')
print(f'链接: {link}')
print(f'阅读量: {views}')
print('-'*20)
```
注意,这个代码只能爬取第一页的文章,如果需要爬取更多页面,需要对URL进行循环更改。
### 回答2:
下面是一个使用Python爬取CSDN中关键词“整人”的链接和阅读量并输出的示例代码:
```python
import requests
from bs4 import BeautifulSoup
# 定义关键词和要爬取的页面数量
keyword = "整人"
page_count = 5
# 根据关键词和页面数量构建URL
base_url = "https://so.csdn.net/so/search/s.do?q={}&p={}".format(keyword, "{}")
# 遍历每个页面
for page in range(1, page_count + 1):
url = base_url.format(page)
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
# 获取搜索结果列表
result_list = soup.find_all("dl", class_="search-list J_search")
# 遍历每个搜索结果
for result in result_list:
# 获取链接
link = result.find("a", class_="title").get("href")
# 获取阅读量
read_count = result.find("span", class_="link_view").text
# 输出链接和阅读量
print("链接:{}".format(link))
print("阅读量:{}".format(read_count))
print("---------------------------------------")
```
以上代码使用了`requests`库发送HTTP请求,使用了`BeautifulSoup`库解析HTML文档。首先,根据关键词和页面数量构建每个页面的URL,然后通过遍历每个页面获取搜索结果列表。接着,遍历每个搜索结果,从中提取链接和阅读量,并进行输出。
### 回答3:
以下是用Python爬取CSDN中有关键词“整人”的链接和阅读量并输出的代码:
```
import requests
from bs4 import BeautifulSoup
# 搜索关键词
keyword = "整人"
# 构造搜索页面的URL
url = "https://so.csdn.net/so/search/s.do?p=1&q={}".format(keyword)
# 发送GET请求获取搜索结果页面内容
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
# 找到搜索结果列表所在的HTML元素
result_list = soup.find("div", class_="search-list-con")
# 遍历解析每个搜索结果的标题和阅读量
for result in result_list.find_all("dl"):
# 获取链接和标题
link = result.find("a")["href"]
title = result.find("a").text.strip()
# 获取阅读量
read_count = result.find("span", class_="read-num").text
# 打印链接和阅读量
print("链接:", link)
print("标题:", title)
print("阅读量:", read_count)
print()
```
以上代码可以通过发送GET请求到CSDN的搜索页面,然后使用BeautifulSoup库解析返回的HTML页面内容。找到搜索列表中关于每个搜索结果的链接、标题和阅读量,并输出到控制台。