python爬取csdn上的包含整人关键词的阅读量并且存入表格里
时间: 2023-08-31 10:34:03 浏览: 128
### 回答1:
首先需要安装第三方库beautifulsoup和requests,可以在命令行中输入“pip install beautifulsoup4 requests”来进行安装。
然后用requests库发送get请求获取网页源代码,再用beautifulsoup解析网页源代码,找到包含整人关键词的文章标题和阅读量。
最后用pandas库将这些数据存入表格中。
下面是一个示例代码:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
#请求网页
url = 'https://www.csdn.net/'
response = requests.get(url)
#解析网页
soup = BeautifulSoup(response.text, 'html.parser')
titles = soup.find_all('a', {'class': 'title'})
#找到包含整人关键词的标题
keyword = '整人'
result = []
for title in titles:
if keyword in title.text:
result.append({'title': title.text, 'read_count': title.next_sibling.next_sibling.text})
#存入表格
df = pd.DataFrame(result)
df.to_csv('csdn_data.csv', index=False)
```
上面的示例代码会爬取CSDN首页上所有包含整人关键词的文章标题和阅读量,并将这些数据存入名为csdn_data.csv的表格中。
注意:爬取网站数据需要遵守网站的使用协议和隐私政策,在爬取前请务必确保符合相关规定。
### 回答2:
Python爬虫是一种自动化获取网页信息的工具。要实现爬取CSDN上包含整人关键词的博文阅读量并将其存入表格,可以按照以下步骤进行操作:
1. 导入所需的第三方库。使用requests库发送HTTP请求,使用BeautifulSoup库解析网页内容,使用pandas库处理数据,使用openpyxl库保存数据到Excel表格。
2. 发送HTTP请求,使用requests库从CSDN网站上获取博文页面的内容。可以使用get方法,并同时添加查询参数包含整人关键词。
3. 解析网页内容,使用BeautifulSoup库解析博文页面的HTML内容。可以使用find_all方法查找所有的博文链接,并使用正则表达式匹配博文的阅读量。
4. 处理数据,使用pandas库将博文的标题、链接和阅读量保存在一个DataFrame中。
5. 创建Excel表格,使用openpyxl库创建一个新的Excel表格,并将DataFrame的内容保存在表格的不同列中。
以下是示例代码:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
from openpyxl import Workbook
# 发送HTTP请求,获取博文页面内容
base_url = "https://blog.csdn.net"
keyword = "整人" # 整人关键词
params = {
"q": keyword
}
response = requests.get(base_url, params=params)
page_content = response.text
# 解析网页内容,查找包含整人关键词的博文链接和阅读量
soup = BeautifulSoup(page_content, "html.parser")
articles = soup.find_all("a", class_="title")
data = []
for article in articles:
title = article.get_text() # 博文标题
link = base_url + article.get("href") # 博文链接
read_count = re.findall(r"\d+", article.find_next_sibling("span").get_text())[0] # 博文阅读量
data.append([title, link, read_count])
# 将数据保存到DataFrame中
df = pd.DataFrame(data, columns=["标题", "链接", "阅读量"])
# 创建Excel表格并保存数据
wb = Workbook()
ws = wb.active
ws.append(["标题", "链接", "阅读量"])
for row in df.itertuples(index=False):
ws.append(row)
wb.save("csdn_blog_data.xlsx")
```
运行以上代码后,程序会将包含整人关键词的博文的标题、链接和阅读量保存在一个名为"csdn_blog_data.xlsx"的Excel表格中。
### 回答3:
要实现这个功能,你可以使用Python中的 requests 和 BeautifulSoup 库来爬取CSDN上的内容,并利用 pandas 库来将数据存入表格中。
首先,你需要导入所需的库:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
```
然后,你可以使用 requests 库来获取包含整人关键词的文章列表页面,使用 BeautifulSoup 来解析页面内容:
```python
url = 'https://so.csdn.net/so/search/s.do?q=整人'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
```
接下来,你可以使用 BeautifulSoup 提供的选择器来提取阅读量和标题信息,并将它们存入一个字典中:
```python
articles = []
for item in soup.select('.search-list li'):
title = item.select_one('.search-link').text.strip()
views = item.select_one('.read-num').text.strip()
articles.append({'标题': title, '阅读量': views})
```
最后,你可以使用 pandas 库将这个字典转换为 DataFrame,并将数据保存为一个表格文件(例如 CSV):
```python
df = pd.DataFrame(articles)
df.to_csv('csdn_articles.csv', index=False, encoding='utf-8')
```
整个过程就是这样。你可以将以上代码放在一个 Python 文件中并运行它,就可以完成爬取包含整人关键词的文章阅读量,并将数据存入表格的功能。请注意,爬取网站内容时应遵循相关法律法规。
阅读全文