用 Python 爬取 QQ 空间说说和相册
安装 selenium
selenium 是一个在浏览器中运行,以模拟用户操作浏览器的方式获取网页源码,使用 pip 安装 selenium 模块
pip install selenium
查看 chrome 浏览器版本并下载 对应的 chrome 浏览器驱动
在 http://npm.taobao.org/mirrors/chromedriver 网址中找到相同版本的 chrome 驱动,并放在 python 程序运行的同一个文件夹中
登陆
按 F12 检擦网页源代码,找到登录和密码的文本框,如下图所示
说说
def get_shuoshuo(driver): page = 1 while True: # 下拉滚动条 for j in range(1, 5): driver.execute_script("window.scrollBy(0,5000)") time.sleep(2) # 切换 frame driver.switch_to.frame(app_canvas_frame) # 构建 BeautifulSoup 对象 bs = BeautifulSoup(driver.page_source.encode(GBK, ignore).decode(gbk)) # 找到页面上的所有说说 pres = bs.find_all(pre, class_=content) for pre in pres: shuoshuo = pre.text tx = pre.parent.parent.find(a, class_="c_tx c_tx3 goDetail")[title] print(tx + ":" + shuoshuo) # 页数判断 page = page + 1 maxPage = bs.find(a, title=末页).text if int(maxPage) < page: break driver.find_element_by_link_text(u下一页).click() # 回到主文档 driver.switch_to.default_content() # 等待页面加载 time.sleep(3)
相册
下载相册里面的照片需要 selenium 模块模拟鼠标一步步点击页面,先点击上方的相册按钮,进去就是多个相册的列表,下图是单个相册的超链接
在单个相册中点击照片,界面如下图
示例结果
总结
大家在看十几年前的说说和照片是不是感觉满满的黑历史快要溢出屏幕了。时光荏苒、岁月如梭,愿一切安好。
上一篇:
Java架构师技术进阶路线图
下一篇:
计算机网络之OSI七层模型