爬虫学习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/ ...
随机推荐
- vertical-align:middle实现图片与文字垂直居中对齐
css代码: header .logo{ display:inline-block; margin-left: 10px; width: 15%; line-height: 9.1rem; backg ...
- fasttext学习笔记
When to use FastText? The main principle behind fastText is that the morphological structure of a wo ...
- zabbix 监控 ElasticSearch
ElasticSearch 可以直接使用zabbix官方的模板 模板地址: https://github.com/mkhpalm/elastizabbix 通过zabbix server 直接监控 ...
- [LeetCode] 364. Nested List Weight Sum II_Medium tag:DFS
Given a nested list of integers, return the sum of all integers in the list weighted by their depth. ...
- 如何比sketch和axure更方便地给原型做交互?
在快速的工作环境中,我们现在都希望在工作的各个环节中提高效率.有些产品设计师们做产品原型时,会感觉sketch或者axure添加交互的方式不够快捷.下面就提供一种解决方案. 使用工具:墨刀. 交互链接 ...
- json_encode转义中文问题
默认情况下php的 json_decode 方法会把特殊字符进行转义,还会把中文转为Unicode编码形式. 这使得数据库查看文本变得很麻烦.所以我们需要限制对于中文的转义. 对于PHP5.4+版本, ...
- 笔记 : CSS3实现背景渐变过渡
使用CSS3的人都知道背景background-image是可以线性渐变(linear-gradient)和径向渐变(radial-gradient),但是想要做到过渡动画,单纯的background ...
- Bukkit插件编程中.yml配置文件的创建和读取
package com.sklm.config; import java.io.BufferedOutputStream; import java.io.BufferedReader; import ...
- arcgis api for js简要笔记
1.主要借助官网的接口文档和samplecode来学习 https://developers.arcgis.com/javascript/latest/api-reference/index.html ...
- 运行vs时打开一个浏览器窗口,而不是在原有窗口上打开一个标签
1.运行vs时打开一个浏览器窗口,而不是在原有窗口上打开一个标签,结束调试时窗口又关闭了,特别麻烦. 在用swagger调试接口时,好不容易输入了测试数据,然而窗口关闭了,再次调试又得重新输入. 解决 ...