打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python爬取网易热门跟帖并截图

今天浏览网易新闻的时候,发现评论比新闻还精彩,不得不佩服网友们的脑洞,怪不得互联网上有云:天下黄段出网易。正好小开最近在鼓捣Python,就准备练练手了。任务是爬取网易的热门新网并且截取热门跟帖保存到电脑本地硬盘。

用Python爬取网页呢,最简单入门的方式是利用bs4,然而只能处理HTML文本,如果要截取渲染后的网页,就无能为力了,由于小开才接触Python,就只能在网上找方法了,结果被我找到了,下面就是要用到的几个利器:

from selenium import webdriver
from PIL import Image

selenium用来自动化控制浏览器,通过浏览器渲染后的网页再经过其自带的方法截取网页,最后通过pillow来编辑所获得的网页截图,从而实现只对热门跟帖板块实现截取,是不是很简单啊!!

首先安装pillow,selenium安装方式类同,可以自己摸索

用pip方式安装

其次安装浏览器,是的,没有看错要安装浏览器,但不同于常规的浏览器,这里安装的是无界面的webkit浏览器phantomjs。安装方法就是官网下载了,但是由于众所周知的原因只能在mirror下载,自己摸索吧,后面就是安装的大坑了。

解压下载好的文件后可以找到phantomjs.exe文件,但是这个真不是用来安装的,而是用来添加到可执行路径的,由于开始没有使用正确老是报错:

'phantomjs.exe' executable needs to be in PATH. (selenium PhantomJS python)

没有办法只有看phantomjs官方文档了,但是我发现我是不是看了假的文档,怎么一点都不像Python风格呢??先不管了,百度找了好久终于发现问题所在,下面直接贴出正确的引用方式:

browser = webdriver.PhantomJS(executable_path=r'E:\WorkPlace\PycharmProjects\phantomjs\bin\phantomjs.exe')

只提一点,不要漏了 r ……解决了这个问题,下面就水到渠成了。打开网站

browser.get('http://comment.news.163.com/news2_bbs/D2JOE6LC0001899N.html')

截图

browser.get_screenshot_as_file('G:\\Pythonshotpicture\\pinglun.png')

找到热门跟帖的id

element = browser.find_element_by_id('hotReplies')

最后一步裁剪保存

print(element.location)print(element.size)left = element.location['x']top = element.location['y']right = element.location['x'] element.size['width']bottom = element.location['y'] element.size['height']im = Image.open('G:\\Pythonshotpicture\\pinglun.png')im = im.crop((left, top, right, bottom))im.save('G:\\Pythonshotpicture\\pinglun.png')

小试牛刀,附上截取的图片

热门跟帖

好了,小开我要去焊板子了,毕竟我只是一个硬件工程师……

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python爬虫利器五之Selenium的用法 | 静觅
(python解析js)selenium结合phantomjs抓取js生成的页面
使用selenium自动化操作浏览器
python基于selenium+PhantomJS实现用提交表单,并点击按钮功能,获取返回的页面源码和ur等信息l。
漫画喵的100行Python代码逆袭
Python实现自动签到脚本
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服