当前位置:   article > 正文

爬取微博热搜榜_微博热搜爬虫项目

微博热搜爬虫项目

需求:

利用python和xpath爬取微博热搜榜

步骤:

爬虫的步骤 获取网页数据-》分析网页数据-》提取网页数据。

1,首先获取微博热搜数据。

热搜主页为

https://s.weibo.com/top/summary?cate=realtimehot

打开收,按F12获取网页源码,然后ctrl+hift+c 选择想要爬取的元素,右侧会定位到数据位置 

2,分析数据

我们想要内容和链接。

首先看内容

位于 pl_top_realtimehoe 下的 table下的tbody下的tr下的td[2]

再看链接,跟内容是同一个元素

3,利用xpath提取数据

  1. hot_data['content']=html.xpath('// *[ @ id = "pl_top_realtimehot"] / table / tbody / tr[{}] / td[2] / a/text()'.format(i + 2))[0]
  2. hot_data['link'] = BASE_URL+html.xpath('// *[ @ id = "pl_top_realtimehot"] / table / tbody / tr[{}] / td[2] / a/@href'.format(i + 2))[0]

源码:

  1. import requests
  2. from lxml import etree
  3. import json
  4. BASE_URL = 'https://s.weibo.com';
  5. URL = BASE_URL+'/top/summary?cate=realtimehot'
  6. def get():
  7. headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36',
  8. 'Cookie':'SUB=_2AkMVX_Daf8NxqwJRmP8dzWzrboh0zA3EieKjAwEBJRMxHRl-yT9jqnAatRB6Pt_eNXUD4Q6s4uR7shXrYHP6N5s0DWjy; SUBP=0033WrSXqPxfM72-Ws9jqgMF55529P9D9W5zapBNnh4B9Tkqsf9MdbS-; SINAGLOBAL=9740631714924.42.1644396619729; _s_tentry=-; Apache=7548092887889.8545.1644754490235; ULV=1644754490284:2:2:1:7548092887889.8545.1644754490235:1644396619996'
  9. }
  10. try:
  11. response=requests.get(URL,headers=headers)
  12. html=etree.HTML(response.text)
  13. hot_data_list = []
  14. for i in range(20):
  15. hot_data = {}
  16. hot_data['content']=html.xpath('// *[ @ id = "pl_top_realtimehot"] / table / tbody / tr[{}] / td[2] / a/text()'.format(i + 2))[0]
  17. hot_data['link'] = BASE_URL+html.xpath('// *[ @ id = "pl_top_realtimehot"] / table / tbody / tr[{}] / td[2] / a/@href'.format(i + 2))[0]
  18. hot_data_list.append(hot_data)
  19. json_data =json.dumps(hot_data_list,ensure_ascii=False)
  20. print(json_data)
  21. return json_data
  22. except:
  23. return ("获取热搜数据失败")
  24. if __name__ == '__main__':
  25. get()

效果:

 备注:

header里需要加上cookie否则数据返回的不对。

最后 插播一条广告:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/841422
推荐阅读
相关标签
  

闽ICP备14008679号