python爬取百度贴吧页数
时间: 2023-10-07 20:08:20 浏览: 146
您好,以下是可以使用的 Python 代码来获取百度贴吧的页数:
```python
import requests
from bs4 import BeautifulSoup
# 贴吧 URL
url = 'https://tieba.baidu.com/f?kw=python&ie=utf-8'
# 获取 HTML 页面
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 获取总页数
total_page = soup.find_all('a', {'class': 'last pagination-item'})[0].get('href').split('=')[-1]
print('总页数:', total_page)
```
在上面的代码中,我们使用 `requests` 库来获取百度贴吧的 HTML 页面,然后使用 `BeautifulSoup` 库来解析 HTML 页面。我们找到最后一页的链接,然后从链接中提取总页数。
注意:这里的代码只适用于特定的贴吧,如果您想要获取其他贴吧的页数,需要更改 `url` 变量中的贴吧名字。
相关问题
python爬取百度贴吧标题
以下是使用Python爬取百度贴吧标题的代码示例:
```python
import urllib.request
import re
# 定义函数,获取网页源代码
def get_html(url):
try:
response = urllib.request.urlopen(url)
html = response.read().decode('utf-8')
return html
except urllib.error.URLError as e:
if hasattr(e, "reason"):
print(u"连接百度贴吧失败,错误原因", e.reason)
return None
# 获取帖子标题
def get_title(base_url):
html = get_html(base_url)
pattern = re.compile('<h1.*?>(.*?)</h1>', re.S)
title = re.findall(pattern, html)
return title[0]
# 输入帖子代码
print(u"请输入帖子代码")
base_url = 'http://tieba.baidu.com/p/' + str(input(u'http://tieba.baidu.com/p/'))
# 输出帖子标题
print(get_title(base_url))
```
python爬取百度贴吧
要爬取百度贴吧,可以使用 Python 中的 requests 库和 BeautifulSoup 库。
以下是一个简单的示例代码,可以爬取百度贴吧的帖子标题和链接:
```
import requests
from bs4 import BeautifulSoup
# 要爬取的贴吧的 URL
url = 'https://tieba.baidu.com/f?kw=python&ie=utf-8&pn=0'
# 发送 HTTP 请求获取页面内容
response = requests.get(url)
# 解析页面内容
soup = BeautifulSoup(response.text, 'html.parser')
# 获取帖子列表
post_list = soup.find_all('a', class_='j_th_tit')
# 输出帖子标题和链接
for post in post_list:
print(post.text.strip())
print('https://tieba.baidu.com' + post['href'])
```
需要注意的是,由于百度贴吧有反爬机制,如果爬取过于频繁或者使用了自动化工具,可能会被禁止访问。因此在实际爬取时需要注意控制访问频率和模拟人工操作。
阅读全文