python爬虫实战笔记---selenium爬取QQ空间说说并存至本地

关于selenium和PhantomJS的使用,见python爬虫实战笔记---selenium爬取QQ空间说说并存至本地(上)

以下,正式开始对QQ空间进行分析和爬取
站点分析:
此版本的QQ空间,是以笔者自己的QQ空间为基点,利用selenium驱动PhantomJS,从上往下按照时间顺序爬取好友发过的说说文字,按照好友名进行分类
进入QQ空间首页,选择账号密码登录
在Chrome调试器下,找到账号密码的输入框标签源码


利用selenium进行模拟登录

from  selenium import webdriver
import time

browser = webdriver.Chrome()
browser.get('https://user.qzone.qq.com')
username =
password =

browser.switch_to_frame('login_frame')
log = browser.find_element_by_id("switcher_plogin")
log.click()
time.sleep(1)
username = browser.find_element_by_id('u')
username.send_keys(username)
ps = browser.find_element_by_id('p')
ps.send_keys(password)
btn = browser.find_element_by_id('login_button')
time.sleep(1)
btn.click()
time.sleep(2)
browser.get('https://user.qzone.qq.com/{}'.format(username))
browser.quit()









OK,这样就实现了模拟登录
接下来,就要进入说说主页,实现爬虫了
from  selenium import webdriver
import time
from bs4 import BeautifulSoup

browser = webdriver.Chrome()
browser.get('https://user.qzone.qq.com')
user ='2413843731'
password ='960306feng'

browser.switch_to_frame('login_frame')
log = browser.find_element_by_id("switcher_plogin")
log.click()
time.sleep(1)
username = browser.find_element_by_id('u')
username.send_keys(user)
ps = browser.find_element_by_id('p')
ps.send_keys(password)
btn = browser.find_element_by_id('login_button')
time.sleep(1)
btn.click()
time.sleep(2)
browser.get('https://user.qzone.qq.com/{}'.format(username))

friendAction = browser.find_element_by_id('tab_menu_friend')

time.sleep(5)
html = browser.page_source
soup = BeautifulSoup(html,"html.parser")
a = soup.find_all('a', attrs={'data-clicklog': 'nick'})
for i in range(len(a)):
    if(b[i].text == None):
        b[i].text = '无法显示'
    print(a[i].text + '\n' + b[i].text)





































  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
首先,为了访问QQ空间相册,我们需要登录QQ账号。可以使用Selenium模拟用户登录QQ,然后使用BeautifulSoup解析相册页面,获取相册中的图片链接。 以下是大致的实现步骤: 1. 安装Selenium和BeautifulSoup模块。 2. 使用Selenium模拟用户登录QQ,进入相册页面。 ```python from selenium import webdriver # 创建Chrome浏览器对象 browser = webdriver.Chrome() # 打开QQ登录页面 browser.get("https://mail.qq.com/") # 执行模拟登录操作,具体实现可以参考Selenium文档或其他相关教程 # ... # 进入相册页面 browser.get("http://user.qzone.qq.com/123456789/album") ``` 3. 使用BeautifulSoup解析相册页面,获取相册中的图片链接。 ```python from bs4 import BeautifulSoup # 获取相册页面的HTML源代码 html = browser.page_source # 使用BeautifulSoup解析HTML源代码,获取相册中的图片链接 soup = BeautifulSoup(html, "html.parser") img_links = soup.find_all("img", class_="c_photo_img_img") # 打印图片链接 for link in img_links: print(link["src"]) ``` 4. 下载图片。 ```python import requests # 下载图片 for i, link in enumerate(img_links): img_url = link["src"] response = requests.get(img_url) with open(f"photo_{i}.jpg", "wb") as f: f.write(response.content) ``` 以上只是大致的实现步骤,具体的实现过程可能还需要根据实际情况进行调整。同时,需要注意的是,访问QQ空间相册需要登录QQ账号,因此需要注意账号安全问题。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值