python微博根据用户名搜索爬取该用户userId

根据微博用户名搜索爬取该用户userId并返回

 

import urllib.request
from urllib import parse

from bs4 import BeautifulSoup


# 微博根据用户名查找userId


# userName 用户名
# pageNum 查询页数,每页20个数据。 默认为第一页值为1,第二页值为2,以此类推。
def getUserId(userName, pageNum):
    # 用户名需要URL编码后
    html_doc = "https://s.weibo.com/user/&nickname=" + parse.quote(userName) + "&page=" + pageNum
    req = urllib.request.Request(html_doc)
    webpage = urllib.request.urlopen(req)
    html = webpage.read()
    soup = BeautifulSoup(html, 'html.parser')  # 文档对象
    if soup:
        print("找到html")
    # 第一步:抓取a标签
    # <a class="name" href="//weibo.com/u/5288987897" suda-data="key=tblog_search_weibo&amp;value=seqid:157406704247901067764|type:3|t:0|pos:1-0|q:|ext:mpos:1,click:user_name" target="_blank">暴烈甜心<em class="s-color-red">小</em><em class="s-color-red">鳄鱼</em>毛毛</a>
    for a in soup.find_all('a', class_='name'):
        if a:
            # 第二步:抓取a标签中用户名
            rpuserName = a.get_text()
            print("搜到用户名=" + rpuserName)
            # 第三步: 判断是否有该用户,如果有,获取该用户userId
            if a.get_text(strip=True) == userName:
                print("匹配到该用户")
                print("用户个人主页链接=" + a['href'])
                # 第四步:提取userId,然后返回
                userUrl = a['href'].split("/")
                print(userUrl)
                if userUrl and len(userUrl) > 0:
                    userId = userUrl[len(userUrl) - 1]
                    return "userId=" + userId
                else:
                    return "userID抓取失败"
                break
        else:
            return "没有查找到a标签"
    else:
        return "没有找到数据"


if __name__ == "__main__":
    userName = "用户名"
    print(getUserId(userName, "1"))

 

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: Python是一种非常适合数据爬取的编程语言,可以轻松地爬取微博内容以及评论。微博是一种非常流行的社交媒体平台,用户量巨大,内容丰富,因而备受关注。通过Python编写的数据爬取脚本,我们可以轻松地获取微博内容以及评论。 爬取微博内容的主要步骤是:首先,我们需要登录到微博账号,并获取该账号的Cookie和Token等信息。然后,我们可以通过requests库发送HTTP请求,获取微博首页的HTML源码。接着,我们需要使用Python的正则表达式和BeautifulSoup库来解析HTML源码,提取微博内容以及评论。 爬取微博评论的主要步骤是:首先,我们需要获取微博的动态ID,然后通过API接口获取该微博的评论数据。我们可以使用requests库发送HTTP请求,获取API返回的JSON数据。接着,我们需要使用Python的json库来解析JSON数据,提取评论内容和评论者信息。 需要注意的一点是,为了避免微博的反爬虫机制,我们需要设置合理的爬取频率,并随机变换请求头信息,比如User-Agent,Referer等。 总之,通过Python编写的数据爬取脚本,我们可以轻松地爬取微博内容以及评论,获取丰富的数据资源,为相关研究提供支持。 ### 回答2: Python是一种非常强大的编程语言,可以用来爬取微博上的内容和评论。微博是国内非常流行的社交平台之一,不同的人在上面发布了大量的内容和评论。为了分析这些数据,我们需要先爬取它们。 首先,我们可以使用Python的requests库来向微博服务器发送请求,并获取需要的内容。例如,我们可以发送搜索请求,获取关键词为“Python”的微博。这样,我们就可以获取到一些微博的基本信息,例如微博ID、发布时间、内容和作者等。 接着,我们可以使用Python的BeautifulSoup库来解析爬取到的HTML页面,并提取需要的内容。例如,我们可以通过解析HTML页面来获取微博的评论,以及评论的发布时间、内容和评论者等。 最后,我们可以使用Python的pandas库来处理爬取到的数据,并进行一些分析。例如,我们可以通过分析微博的评论数和转发数来了解某个话题的热度,或者分析微博内容中的关键字来了解用户的兴趣爱好。这些分析可以帮助我们更好地了解微博用户的行为和想法,为我们的营销和推广工作提供参考。 总之,Python是一种非常强大的编程语言,可以帮助我们轻松地爬取微博的内容和评论,并进行数据分析。相信随着技术的不断发展,Python在爬虫领域的应用将会更加广泛。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值