爬虫学习06用selenium爬取空间
用selenium爬取空间
from selenium import webdriver
from lxml import etree
import time
pro = webdriver.Chrome(executable_path=r'C:\Users\古月蜀黍\Desktop\chromedriver_win32\chromedriver.exe')
pro.get(url='https://i.qq.com/?s_url=http%3A%2F%2Fuser.qzone.qq.com%2F1355144989%2Finfocenter')
# 获取iframe标签
pro.switch_to.frame('login_frame')
my_button = pro.find_element_by_id('switcher_plogin')
my_button.click()
# 输入账号密码
username = pro.find_element_by_id('u')
username.send_keys('1355144989')
password = pro.find_element_by_id('p')
password.send_keys('liqian521.1314')
login = pro.find_element_by_id('login_button')
login.click()
time.sleep(2) js = 'window.scrollTo(0, document.body.scrollHeight)'
pro.execute_script(js)
time.sleep(2)
pro.execute_script(js)
time.sleep(2)
pro.execute_script(js)
time.sleep(2)
pro.execute_script(js)
time.sleep(2)
pro.execute_script(js)
time.sleep(2)
# 获取当前显示页面的源数据
page_text = pro.page_source
tree = etree.HTML(page_text) text = tree.xpath('//div[@class="f-info"]//text()') print(text)
pro.quit() 无界面浏览器PhantomJS
from selenium import webdriver
import time
pro = webdriver.PhantomJS(executable_path=r'C:\Users\古月蜀黍\Desktop\文件汇总\爬虫\phantomjs\bin\phantomjs.exe')
pro.get(url = 'https://www.baidu.com')
# 根据find系列的函数定位到指定标签
my_input = pro.find_element_by_id('kw')
# 向获取的标签中输入数据
time.sleep(2)
my_input.send_keys('胡涛')
pro.save_screenshot('./1.jpg')
my_button = pro.find_element_by_id('su')
# 给标签绑定点击事件
time.sleep(2)
my_button.click()
# 获取当前显示页面的源码
time.sleep(2)
pro.save_screenshot('./2.jpg')
page_text = pro.page_source
print(page_text) # 退出页面
pro.quit() 谷歌无界面浏览器的配置
# 无界面浏览器的配置
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu') from selenium import webdriver
import time
pro = webdriver.Chrome(executable_path=r'C:\Users\古月蜀黍\Desktop\chromedriver_win32\chromedriver.exe',chrome_options=chrome_options)
pro.get('https://www.baidu.com')
# 根据find系列的函数定位到指定标签
my_input = pro.find_element_by_id('kw')
# 向获取的标签中输入数据
time.sleep(2)
my_input.send_keys('胡涛')
pro.save_screenshot('./111.png')
my_button = pro.find_element_by_id('su')
# 给标签绑定点击事件
time.sleep(2)
my_button.click()
# 获取当前显示页面的源码
time.sleep(2)
pro.save_screenshot('./222.png')
page_text = pro.page_source
print(page_text) # 退出页面
pro.quit()
爬虫学习06用selenium爬取空间的更多相关文章
- 爬虫系列(十三) 用selenium爬取京东商品
这篇文章,我们将通过 selenium 模拟用户使用浏览器的行为,爬取京东商品信息,还是先放上最终的效果图: 1.网页分析 (1)初步分析 原本博主打算写一个能够爬取所有商品信息的爬虫,可是在分析过程 ...
- 爬虫学习(二)--爬取360应用市场app信息
欢迎加入python学习交流群 667279387 爬虫学习 爬虫学习(一)-爬取电影天堂下载链接 爬虫学习(二)–爬取360应用市场app信息 代码环境:windows10, python 3.5 ...
- webcollector + selenium 爬取空间相册图片
package cn.hb.util; import java.io.File; import java.io.FileNotFoundException; import java.io.FileWr ...
- Python爬虫学习三------requests+BeautifulSoup爬取简单网页
第一次第一次用MarkDown来写博客,先试试效果吧! 昨天2018俄罗斯世界杯拉开了大幕,作为一个伪球迷,当然也得为世界杯做出一点贡献啦. 于是今天就编写了一个爬虫程序将腾讯新闻下世界杯专题的相关新 ...
- Python爬虫学习之使用beautifulsoup爬取招聘网站信息
菜鸟一只,也是在尝试并学习和摸索爬虫相关知识. 1.首先分析要爬取页面结构.可以看到一列搜索的结果,现在需要得到每一个链接,然后才能爬取对应页面. 关键代码思路如下: html = getHtml(& ...
- Python爬虫学习(6): 爬取MM图片
为了有趣我们今天就主要去爬取以下MM的图片,并将其按名保存在本地.要爬取的网站为: 大秀台模特网 1. 分析网站 进入官网后我们发现有很多分类: 而我们要爬取的模特中的女模内容,点进入之后其网址为:h ...
- selenium 爬取空间说说
package cn.hb.util; import java.io.File; import java.io.FileWriter; import java.io.IOException; impo ...
- 爬虫实战(二) 用Python爬取网易云歌单
最近,博主喜欢上了听歌,但是又苦于找不到好音乐,于是就打算到网易云的歌单中逛逛 本着 "用技术改变生活" 的想法,于是便想着写一个爬虫爬取网易云的歌单,并按播放量自动进行排序 这篇 ...
- [Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)
转载自:http://blog.csdn.net/eastmount/article/details/51231852 一. 文章介绍 源码下载地址:http://download.csdn.net/ ...
随机推荐
- ASP.NET MVC5+EF6+EasyUI 后台管理系统--系统权限及操作指引
系列目录 1.权限包括菜单权限,按钮权限,数据权限 2.角色组和用户之间是多对多的关系,即多个用户可以拥有多个角色组,权限是拥有角色组的并集 1.菜单界面,菜单都是动态数据由模块管理进行设置 2.权限 ...
- Android提权漏洞CVE-2014-7920、CVE-2014-7921
- opencv 傅里叶使用
#include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;int ...
- 从0开始搭建vue+webpack脚手架(二)
接着从0开始搭建vue+webpack脚手架(一) 三.配置webpack-dev-server 1. webpack-dev-server自带一个node的服务器, 项目在服务端运行的同时可以实现热 ...
- LeetCode141.环形链表
给定一个链表,判断链表中是否有环. 进阶:你能否不使用额外空间解决此题? /** * Definition for singly-linked list. * class ListNode { * i ...
- laravel架构
1.Laravel 5.1 中的异常处理器和HTTP异常处理实例教程 http://laravelacademy.org/post/1867.html 2.laravel 集成sentry,sentr ...
- why big data
很多人都知道大数据很火,就业很好,薪资很高,想往大数据方向发展.但该学哪些技术,学习路线是什么样的呢?用不用参加大数据培训呢?如果自己很迷茫,为了这些原因想往大数据方向发展,也可以,那么大讲台老师就想 ...
- java中的锁之Lock接口与Condition接口
一.Lock源码. 1.是一个接口.一共有6个方法. 2.方法详细如下: (1)当前线程尝试获取锁.结果分两种情况,一是成功获取到锁,则返回:二是获取锁失败,则一直等待.不响应中断请求. (2)当前线 ...
- sublime text3配置及相关小技巧
1.下载&安装: 官方地址:http://www.sublimetext.com/,sublime text3又更新了,支持不依赖插件进行侧边栏颜色的更改,同时自带的皮肤颜色也有四种,十分方便 ...
- Mysql常规优化
一.SQL语句优化 (1)使用limit对查询结果的记录进行限定(2)避免select *,将需要查找的字段列出来(3)使用连接(join)来代替子查询(4)拆分大的delete或insert语句 二 ...