python爬取热搜评论数据

2023-03-08 16:14:13 浏览数 (2)

在内地颇具影响力的TVB与淘宝直播的首次合作已经开启了,特别是在合同公布之后,TVB的股价大涨。近些年,在明星涌入跨界直播带货的浪潮中,也不乏TVB艺人的身影,

根据大数据显示电商直播的用户群体还是以女性为主。中国香港艺人在内地对70后、80后影响较大,从年龄分布上看,35岁以上的人群,无论是在淘宝、抖音还是快手用户群体中占比都是偏低的,但是市场分析认为,TVB在内地市场拥有广泛的认知度,选择在国内用户基础最大的淘宝开播能更好的放大其影响力。

有很多的港剧迷调侃,“宇宙的尽头是直播。”也有粉丝非常捧场,称有了TVB这个渠道后,买一些正宗“港货”会更方便了,“就这一点而言,TVB新开拓的这条路线很有前景。”但还是有网友觉得,“更想看他们好好演戏”。

关于粉丝们的各种评论我想大家肯定都比较感兴趣,这里我们可以使用python爬取微博上有关tvb艺人直播热搜下得各种评论数据。

首先是微博热搜内容网址:https://s.weibo.com/weibo?q=TV

经分析,微博热搜数据就在网页中,可以直接requests请求,然后BeautifulSoup解析获取内容,但是微博一直都有很严的反爬机制,特别是对IP的限制都很严格,所以在爬取过程中我们可以使用python爬虫 爬虫代理加强版IP BeautifulSoup来完成数据的爬取,完整代码如下:

代码语言:javascript复制
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class Demo {

    public static void main(String[] args) {

        try{

            // 代理服务器(产品官网 www.16yun.cn)
            final static String ProxyHost = "t.16yun.cn";
            final static String ProxyPort = "31111";

            System.setProperty("http.proxyHost", ProxyHost);
            System.setProperty("https.proxyHost", ProxyHost);

            System.setProperty("http.proxyPort", ProxyPort);
            System.setProperty("https.proxyPort", ProxyPort);

            // 代理验证信息
            final static String ProxyUser = "16EOBZOI";
            final static String ProxyPass = "125478";

            System.setProperty("http.proxyUser", ProxyUser);
            System.setProperty("http.proxyPassword", ProxyPass);

            System.setProperty("https.proxyUser", ProxyUser);
            System.setProperty("https.proxyPassword", ProxyPass);




            // 设置IP切换头
            final static String ProxyHeadKey = "Proxy-Tunnel";

            // 设置Proxy-Tunnel
            Random random = new Random();
            int tunnel = random.nextInt(10000);
            String ProxyHeadVal = String.valueOf(tunnel);



            // 处理异常、其他参数
            Document doc = Jsoup.connect(url).timeout(3000).header(ProxyHeadKey, ProxyHeadVal).get();

            if(doc != null) {
                System.out.println(doc.body().html());
            }

        }catch (IOException e)
        {
            e.printStackTrace();
        }

    }
}

0 人点赞