2011-01-01至今
时间: 2023-06-30 14:23:50 浏览: 78
好的,以下是Python代码实现:
```python
import requests
from bs4 import BeautifulSoup
import time
# 设置请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 获取每一页的URL
urls = []
for i in range(1, 224): # 总共223页
url = 'https://guba.eastmoney.com/list,603569_{}.html'.format(i)
urls.append(url)
# 遍历每一页,获取帖子信息
for url in urls:
res = requests.get(url, headers=headers)
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text, 'html.parser')
# 获取帖子列表
posts = soup.select('.articleh')
# 遍历每个帖子,获取信息
for post in posts:
# 提取信息
title = post.select('a')[0].text
link = 'https://guba.eastmoney.com' + post.select('a')[0]['href']
author = post.select('.l1')[0].text
read_num = post.select('.l2')[0].text
comment_num = post.select('.l3')[0].text
time_str = post.select('.l5')[0].text
# 时间格式化
time_array = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
publish_time = time.strftime("%Y-%m-%d %H:%M:%S", time_array)
# 输出结果到文件
with open('data_guba_cjwl.txt', 'a', encoding='utf-8') as f:
f.write('{}\t{}\t{}\t{}\t{}\t{}\n'.format(author, publish_time, read_num, comment_num, title, link))
```
代码解释:
1. 首先,我们设置请求头,避免被网站反爬虫机制拦截。
2. 然后,我们获取每一页的URL,一共有223页,存储在`urls`列表中。
3. 接着,我们遍历每一页,发起请求,获取帖子列表,使用BeautifulSoup解析HTML,获取每个帖子的信息。
4. 最后,我们提取帖子的标题、链接、作者、阅读量、评论数、发帖时间等信息,并将其写入文件中。
请注意,该代码执行时间较长,因为要抓取的页面较多,建议您在网络状况较好的情况下执行。
阅读全文