PJ11210049 发表于 2020-8-17 16:18

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()

fangwh1027 发表于 2020-8-19 17:26

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')
直接运动我就能打开浏览器了

fangwh1027 发表于 2020-8-19 17:25

PJ11210049 发表于 2020-8-19 10:23
对的,有些需要配置,或者设置参数啥的,还得需要调selenium配合使用。但简单得一些操作,无需配置的,he ...

其实我现在还是不知道怎么把俩个合到一起进行运用。比如我是: from selenium importwebdriver
driver = webdriver.Chrome()
然后呢,我的helium是start_chrom('https:baidu.com')
当我开始执行我的代码的时候,我发现会打开2个浏览器窗口,一个是这个helium启动的,然后所有的界面操作都是在这个上面。还有一个是webdriver启动的,但是呢,这个界面就是空白的了。虽然没出什么错。但是我就是觉得这样有点不好。不知道楼主你有什么解决的方法吗?

唐伯虎 发表于 2020-8-17 16:52

前排点赞支持

额微粒波地 发表于 2020-8-17 16:52

helium第一次听说这个库,看到你写的代码,这个包好像挺简单的

walkershow 发表于 2020-8-17 16:55

又有新东西,学不完呀{:1_937:}

大白痴先生 发表于 2020-8-17 16:56

谢谢分享,请问哪里能下载helium ?

chenyanb2612 发表于 2020-8-17 16:59

不错的!我也在关注这个

llyy390 发表于 2020-8-17 16:59

这个包真没见过

就是那个秋 发表于 2020-8-17 17:03

我的易语言 表示要刚一下

PJ11210049 发表于 2020-8-17 17:26

额微粒波地 发表于 2020-8-17 16:52
helium第一次听说这个库,看到你写的代码,这个包好像挺简单的

你可以pip 一下

PJ11210049 发表于 2020-8-17 17:27

就是那个秋 发表于 2020-8-17 17:03
我的易语言 表示要刚一下

{:1_921:}互相学习
页: [1] 2 3 4 5
查看完整版本: python+helium爬取百度图片