转载:使用selenium爬取微博内容
来源:互联网 发布:maven nexus windows 编辑:程序博客网 时间:2024/06/05 13:27
标签(空格分隔): Python selenium
前言
近来都在与新浪这个大佬在pk。首先是网页爬取新浪微博,遇到的难题是cookie的存活期太慢,一般爬十分钟就over了一个;后来发明了手机版的模拟登录,顺风顺水了一段时间,结果新浪又来一个验证码,被气得半死。无奈手动输入验证码后,再模拟登录。然而不过两个月,新浪哥又开始抓严,搞得手机版的模拟登陆经常登陆不上去。最后实在无办法了,只好真的去“模拟”浏览器实现爬虫了。说道浏览器自动化操作,目前最好用的就是selenium啦。
关于selenium
Selenium原本是一个用于Web应用程序测试的工具。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。它支持的浏览器包括IE,Chrome和Firefox等。现在很多虫师为了绕过反爬虫的机制,都选择selenium。由于selenium的原理是唤起浏览器操作,因而代价就是爬虫的非常慢。
selenium的安装
我的机子是Ubuntu,所以下面主要是总结我在Ubuntu安装的过程。
1. 输入安装命令行
sudo pip install -U selenium
2.下载驱动器geckodriver
(百度网盘的下载链接http://pan.baidu.com/s/1sk9Rw3z)
3.更新浏览器
如FireFox:
sudo apt-get update –> sudo apt-get install firefox
4.selenium的测试代码
from selenium import webdriverbrowser = webdriver.Firefox(executable_path='/PycharmProjects/Weibo/geckodriver') ## 配置驱动文件所在的路径(路径为geckodriver的存放路径)browser.get("http://www.weibo.com/login.php") ## 浏览器Get请求访问print browser.page_source ## 输入返回的源代码
PS:在我测试的时候它告诉我配置文件路径错了,那这该如何是好?
这个时候我将我的geckodriver放到另外一个地方:
sudo cp /home/totoro/codes/PycharmProjects/Weibo/geckodriver /usr/local/bin/geckodriver
然后进入存放目录查看情况:
cd /usr/local/bin
ls -l
由于默认权限不是777,所以对其进行更改
sudo chmod 777 geckodriver
最后就可以看到geckodriver呈现绿色了
selenium的测试结果
模拟登录过程
selenium开启的浏览器,但用户可以当这个浏览器正常使用。所以模拟登录的过程,其实就是程序设置休眠时间,让用户输入账号密码并完成登陆操作后,再实行网页抓取。具体的代码如下:
from selenium import webdriverimport timebrowser = webdriver.Firefox(executable_path='/home/gdufs-iiip/PycharmProjects/Weibo/geckodriver') ## 配置驱动文件所在的路径browser.get("http://www.weibo.com/login.php") ## 浏览器Get请求访问begin_time = time.time() ##记录开始账号密码的时间while(True): if ((time.time() - begin_time) > 60): ## 实现登录的时限为60秒 search_url = 'http://weibo.cn/search/mblog?hideSearchFrame=&keyword=林丹出轨&sort=hot&page=1' ##实行新闻网页抓取 browser.get(search_url) content = browser.page_source breakprint content
- 转载:使用selenium爬取微博内容
- 使用selenium爬取微博内容
- 使用selenium抓取网页内容
- 如何使用python+selenium向富文本编辑器输入内容
- Selenium使用
- python selenium查找网页内容
- 转载一篇Selenium RC文章
- Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
- python使用selenium提取script节点的内容不成功的解决方法
- selenium的webdriverAPI使用操作多项选择框内容_10_3.docx
- 使用selenium模块模拟浏览器爬去网页,并进行点击定位内容笔记
- python3 [爬虫入门实战] 爬虫之使用selenium 爬取百度招聘内容并存mongodb
- 使用J2me网络编程访问网页内容--转载哦~~
- 使用JS在textarea在光标处插入内容(转载)
- 【转载】使用 /proc 文件系统来访问 Linux 内核的内容
- 【转载】PHP使用CURL抓取网站内容基础
- GridView内容详解(转载)
- 关于人生(内容转载)
- SimpleDateFormat
- 如何在gitlab上设置钩子
- Android 扩展RadioButton 灵活控制drawable的大小
- CAS自旋
- wenjian
- 转载:使用selenium爬取微博内容
- Android评论工具类,实现QQ空间文字评论效果
- roi
- windows文件关联、打开方式列表之修改注册表攻略
- (2)测试MatConvNet
- STL模板之vector与sort的使用
- 535
- **第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)C粉丝与汉诺塔
- 51822配对