用python代码写一个爬取微博热搜前100的程序
时间: 2023-11-29 19:03:34 浏览: 34
以下是一个简单的Python程序,可以爬取微博热搜前100的信息:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://s.weibo.com/top/summary'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
hot_list = soup.find_all('td', class_='td-02')
for i, hot in enumerate(hot_list):
if i < 100:
title = hot.find('a').get_text()
print(i+1, title)
```
首先,我们使用requests库获取微博热搜榜页面的HTML代码。然后,使用BeautifulSoup库解析HTML代码并获取所有热搜信息的标签。接下来,我们遍历前100个热搜,获取每个热搜的标题,并将其打印出来。
相关问题
请用Python写出一个爬取微博用户关注列表的程序代码
import requests# 定义请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
}# 获取要爬取的微博用户页面地址
url = 'https://weibo.com/******'
# 获取该用户的关注列表
follow_url = url + '/follow'# 发起请求,获取响应
response = requests.get(follow_url, headers=headers)
# 获取响应的文本数据
html = response.text# 使用正则表达式提取关注列表
import re
pattern = r'<a class="W_texta W_fb" target="_blank"\s+href="(.*?)">(.*?)</a>'
res = re.findall(pattern, html)# 打印关注列表
for item in res:
print(item[1], item[0])
请用Python写出一个爬取微博用户“邓超”关注列表的程序代码
import requests
import json# 获取access_token
url = 'https://api.weibo.com/oauth2/access_token'
payload = {'client_id': 'your_client_id',
'client_secret': 'your_client_secret',
'grant_type': 'client_credentials'}
r = requests.post(url, data=payload)
result = json.loads(r.text)
access_token = result.get('access_token')# 获取邓超的uid
url = 'https://api.weibo.com/2/users/show.json'
payload = {'access_token': access_token,
'screen_name': '邓超'}
r = requests.get(url, params=payload)
result = json.loads(r.text)
uid = result.get('id')# 获取邓超的关注列表
url = 'https://api.weibo.com/2/friendships/friends/bilateral.json'
payload = {'access_token': access_token,
'uid': uid}
r = requests.get(url, params=payload)
result = json.loads(r.text)
follow_list = result.get('users')# 打印出关注列表
for follow in follow_list:
print(follow.get('screen_name'))