爬取QQ空间数据

本文介绍了一种使用Python和Selenium进行QQ空间爬虫的方法,包括自动登录、获取登录后的页面源码及抓取说说文字内容的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爬取QQ空间数据–Python爬虫入门

本人自习Python四个月,准本研究NLP,目前大三。我在学习爬虫时,发现大部分都是爬豆瓣的数据,可能是这种简单的例子适合初学者,但是我更喜欢爬取一些能切实体现问题的数据,QQ空间就是我能切身体会的数据源。

  1. Selenium Web自动化测试工具
  2. QQ空间自动登陆
  3. 模拟浏览器
  4. 动态网页数据爬取(本文暂不涉及,日后补充)

未能解决的问题: 1. 登录后内容直接爬取 2. 动态爬取 3. 多线程爬虫实现


准备工作

  • Python3.6
  • Selenium

具体过程

模拟登陆:

	driver.get('https://qzone.qq.com/')

    driver.switch_to.frame('login_frame')
    driver.find_element_by_id('switcher_plogin').click()

    driver.find_element_by_id('u').clear()
    driver.find_element_by_id('u').send_keys('XXXXXX')  #这里填写你的QQ号
    driver.find_element_by_id('p').clear()
    driver.find_element_by_id('p').send_keys('XXXXXX')  #这里填写你的QQ密码
    driver.find_element_by_id('login_button').click()

获取登陆后页面源码:

 response = driver.page_source

获取页面内所有说说动态(仅文字):

	abtract_pattern = re.compile('<a target="_blank" href="http://user.qzone.qq.com/(.\d*)" data-clicklog="nick" class="f-name q_namecard " link="nameCard_(.\d*)">(.*?)</a>',re.S)  
    abtract = re.findall(abtract_pattern,str(response))     
   
    elements = driver.find_elements_by_class_name('f-info')

打印结果:

	i=0
    for a in abtract:
        print(a[2]+"  :  "+elements[i].text)
        i=i+1

效果:
这里写图片描述

注:如有不足,请斧正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值