12.PhantomJS 基础

PhantomJS基础
  1. PhantomJS效率不高,但是能解决很多反爬问题
  2. 本质是一个浏览器,效率不高,但是对异步处理的数据非常有效
  3. 只要拿到有效数据就行了

下载 PhantomJS http://phantomjs.org

完成之后需要将 /phantomjs/bin/phantomjs.exe 添加到 环境变量中
import time
from selenium import webdriver
from selenium.wendriver.common.desired_capabilities import DesiredCapabilities

dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = ("Mozilla/4.0 .....")

brower = webdriver.PhantomJS()  # 方式1
brower = webdriver.PhantomJs(desired_capabilities = dcap) # 方式2

brower.get('http://www.baidu.com') #生成一个无界面的浏览器

#截图
a = brower.get_screenshot_as_file('file_path/test.jpg')

brower.find_element_by_xpath('//*[@id="kw"]').clear()
brower.find_element_by_xpath('//*[@id="kw"]').send_key("scrapy")
brower.find_element_by_xpath('//*[@id="su"]').click()

time.sleep(5)

data = brower.page_source
print (len(data))
brower.quit()
import re
title = re.complie("<title>(.*?)</title>").findall(data)
print (title)


#滚动屏幕
for i in range(20):
	js = 'window.scrollto('+str(i*1280)+','+str((i+1)*1280)+')'
	brower.execute_script(js)
	time.sleep(1)
print (brower.current_url)

data = brower.page_source
with open("D:/test.html", "w", encode='utf-8') as f:
	f.write(data)
brower.quit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值