请用Python写出一个爬取微博用户关注列表的程序代码
时间: 2023-03-14 13:12:47 浏览: 175
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'))
请帮我写出用python爬取微博帖子的具体代码
当然可以,以下是一个使用 Python 爬取微博帖子的示例程序,使用了 requests 库和 BeautifulSoup 库:
```python
import requests
from bs4 import BeautifulSoup
# 设置请求头信息
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"}
# 输入要搜索的微博关键词
keyword = input("请输入要搜索的微博关键词:")
# 构造请求URL
url = "https://s.weibo.com/weibo?q=" + keyword
# 发送请求并获取响应内容
response = requests.get(url, headers=headers)
# 使用 BeautifulSoup 解析响应内容
soup = BeautifulSoup(response.text, "html.parser")
# 获取微博列表
weibo_list = soup.select(".card-wrap")
# 遍历微博列表并输出微博的内容和发布人
for weibo in weibo_list:
content = weibo.select(".txt")[0].text.strip()
user = weibo.select(".from a")[0].text.strip()
print("微博内容:", content)
print("发布人:", user)
print("----------------------")
```
在这个示例程序中,我们首先设置请求头信息,以便能够成功发送请求。然后我们让用户输入要搜索的微博关键词,使用该关键词构造请求URL,并发送请求。接下来,我们使用 BeautifulSoup 解析响应内容,获取微博列表,并遍历微博列表,输出微博的内容和发布人。
请注意,这只是一个简单的示例程序,它只能获取一页搜索结果。如果您想要获取更多的结果,您需要编写更复杂的代码来处理分页。另外,请注意,微博的网站结构可能会发生变化,因此这段代码可能无法长期运行,您需要根据实际情况进行调整。同时,爬虫需要遵守相关法律法规和网站协议,避免对网站造成不必要的影响。
阅读全文