爬取QQ空间数据<Python爬虫入门>

来源:互联网 发布:mysql 前后空格为什么 编辑:程序博客网 时间:2024/06/05 14:58

爬取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

效果:
这里写图片描述

注:如有不足,请斧正。微信:cmdegz5sxd

原创粉丝点击