python+helium爬取百度图片
平时浏览器模拟用的最多的是selenium,但配置比较麻烦,元素选择繁琐。这次看了helium,不用下浏览器驱动,简单易用。
写了个搜王者荣耀图片的demo,试着用用。
安装库:
pip install helium
源码:
# -*- coding:utf-8 -*-
from time import sleep
from helium import *
start_chrome("https://www.baidu.com/")
write("王者荣耀")
click("百度一下")
sleep(2)
click("图片")
count = 0
imgs = 5# 可选图片数量
while count < imgs:
# S()内置函数,可选#id,.class,@btnName
imgitems = find_all(S(".imgitem"))
click(imgitems)
sleep(2)
click("下载")
sleep(2)
# 切换到最开始打开的窗口 [-1]切换到最新打开的窗口 [-2]切换到倒数第二个打开的窗口
switch_to(find_all(Window()))
count += 1
kill_browser()
PJ11210049 发表于 2020-8-19 11:20
库装好了么?这个start_chrome()方法调的谷歌浏览器,你的谷歌浏览器能被启动么?
可以正常启动呢,跑都跑起来了
from helium import *
from time import sleep
import random
import string
from selenium.webdriver.common.keys import Keys
driver = start_chrome('https://xxxxx.com')
直接运动我就能打开浏览器了 PJ11210049 发表于 2020-8-19 10:23
对的,有些需要配置,或者设置参数啥的,还得需要调selenium配合使用。但简单得一些操作,无需配置的,he ...
其实我现在还是不知道怎么把俩个合到一起进行运用。比如我是: from selenium importwebdriver
driver = webdriver.Chrome()
然后呢,我的helium是start_chrom('https:baidu.com')
当我开始执行我的代码的时候,我发现会打开2个浏览器窗口,一个是这个helium启动的,然后所有的界面操作都是在这个上面。还有一个是webdriver启动的,但是呢,这个界面就是空白的了。虽然没出什么错。但是我就是觉得这样有点不好。不知道楼主你有什么解决的方法吗? 前排点赞支持 helium第一次听说这个库,看到你写的代码,这个包好像挺简单的 又有新东西,学不完呀{:1_937:} 谢谢分享,请问哪里能下载helium ? 不错的!我也在关注这个 这个包真没见过
我的易语言 表示要刚一下 额微粒波地 发表于 2020-8-17 16:52
helium第一次听说这个库,看到你写的代码,这个包好像挺简单的
你可以pip 一下 就是那个秋 发表于 2020-8-17 17:03
我的易语言 表示要刚一下
{:1_921:}互相学习