ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

批量提取微软必应图片

2020-12-05 23:02:10  阅读:118  来源: 互联网

标签:webdriver 提取 批量 微软 url selenium driver import div


from time import altzone
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.by import By
from selenium import webdriver
from bs4 import BeautifulSoup
import re
import requests
import time
driver=webdriver.Chrome('K:/zhusc/chromedriver.exe')
def wait_for_you(x1,x2,i):    
    try:
    #查看10秒内是否出现该元素,如果元素10秒内出现就返回,否则抛出异常。
        element=WebDriverWait(driver,10).until(
            EC.presence_of_element_located((By.XPATH,x1))
        )
    finally:
        html_doc=driver.page_source
        soup = BeautifulSoup(html_doc,"html.parser")
        src_url=str(soup.find_all(alt=re.compile("查看源图像"))[0].get('src'))
        print(src_url)
        r=requests.get(src_url)
        with open('k:/zhusc/handsome/{}.jpg'.format(str(i)),'wb') as f:
            f.write(r.content)
            f.close()
        driver.find_element_by_xpath(x2).click()  
url="https://cn.bing.com/images/search?view=detailV2&ccid=ObO88023&id=6DD1866FC21DD72C1CBC5968E17F0A16C4A833E3&thid=OIP.ObO88023YNW8F-VqK0wzCAHaEo&mediaurl=http%3a%2f%2fi1.hdslb.com%2fbfs%2farchive%2f80a4acc61ecfeab3483fd17a45df998406e1c813.jpg&exph=602&expw=964&q=%e7%a6%b9%e5%8f%b8%e5%87%a4&simid=608010328438931513&ck=CC623D52148F1136DBBAFF22C6249741&selectedIndex=0&FORM=IRPRST&ajaxhist=0"
driver.get(url)
driver.maximize_window() #窗口最大化
x1='//*[@id="mainImageWindow"]/div/div/div/div/img' #pic
x2='//*[@id="navr"]/span'  #next pic
for i in range(0,10):
    wait_for_you(x1,x2,i)    
driver.close()

在这里插入图片描述
很奇怪,开头第一张图片总是跟第二张图片重复。运行结果:
在这里插入图片描述
为什么会如此,想改善该如何处理?代码用上time.sleep也无效。

标签:webdriver,提取,批量,微软,url,selenium,driver,import,div
来源: https://blog.csdn.net/lingyuncelia/article/details/110728651

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有