1. 程式人生 > >基於selenium爬取圖片並轉存到百度網盤

基於selenium爬取圖片並轉存到百度網盤

初學python,花了一天時間鼓搗了一個爬蟲。
#coding=utf-8
import requests
from bs4 import BeautifulSoup
import re
import string
from selenium import webdriver
import time

urlprelix = 'http://www.******.com/'

def webcrawler(max_page):
    page = 1
    driverold = webdriver.Chrome('/Applications/chromedriver')#chromedriver的路徑
    driverold.get('https://pan.baidu.com/')#登入百度網盤生成cookie,後面可以匯入新的網頁,不用重複登入
    time.sleep(30)
    cookies_list = driverold.get_cookies()
    driverold.close()

    while page <= max_page:
        if page is 1:
            url = urlprelix
        else:
            url = urlprelix +'440_'+ str(page) + '.html'#每頁的full url

        #新增header防反爬蟲
        headers = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
        source_code = requests.get(url)
        source_code.encoding = 'gbk' #修改編碼方式
        plaintxt = source_code.text
        soup = BeautifulSoup(plaintxt, "lxml")

        for link in soup.findAll('a',{'class': 'title yt-uix-sessionlink'}):
            href = link.get('href')
            fulllink = 'http://www.16xx8.com' + href
            print(fulllink)

            subsrc_code = requests.get(fulllink)
            subsrc_code.encoding = 'gbk'
            subplaintxt = subsrc_code.text
            subsoup = BeautifulSoup(subplaintxt,"lxml")
            for link in subsoup.findAll("a", {'onclick': re.compile('javascript:openwindow')}):
                magnet = link.get('onclick').replace('amp;','')
                magnet1 = re.findall("openwindow(.+?)400", magnet)
                magnet2 = str(magnet1).strip(string.punctuation).strip()

                bdlink = 'http://www.******.com/' + magnet2
                driver = webdriver.Chrome('/Applications/chromedriver')
                driver.get(bdlink)

                for cookiedold in cookies_list:
                    if cookiedold['domain'][0] != '.':
                        cookiedold['domain'] = '.' + cookiedold['domain']
                    driver.add_cookie(cookiedold)#將之前的cookie匯入到新的網頁

                driver.refresh()
                element = driver.find_elements_by_tag_name("a")
                print(str(element[0]))
                element[0].click()
                time.sleep(1)

                curhandle = driver.current_window_handle
                allhandle = driver.window_handles
                print( str(len(allhandle)))
                for handle in allhandle:
                    if handle != curhandle:
                        driver.switch_to.window(handle)

                #點選儲存按鈕
                curhandle = driver.current_window_handle
                #savehandle = str(handles[-1])
                ele1 = driver.find_elements_by_link_text('儲存到網盤')

                try:
                    for _ in range(1000):
                        if curhandle == driver.current_window_handle:
                            ele1[0].click()
                            time.sleep(1)
                        else:
                            break
                except:
                    print(" ")



                #敲擊回車鍵確認儲存
                driver.switch_to.active_element
                curhandle = driver.current_window_handle
                ele2 = driver.find_element_by_link_text("確定")

                try:
                    for _ in range(10):
                        if curhandle == driver.current_window_handle:
                            ele2.click()
                            time.sleep(1)
                        else:
                            break
                except:
                    print('')

                time.sleep(2)
                driver.close()


        page += 1



webcrawler(4)#呼叫函式爬去前四頁的資源

相關推薦

基於selenium圖片

初學python,花了一天時間鼓搗了一個爬蟲。#coding=utf-8 import requests from bs4 import BeautifulSoup import re import string from selenium import webdriver

今日頭條圖片ajax異步加載至mongodb,以及代碼寫法的改進

exception wow 發現 http img fin 以及 urn form import requests,time,re,json,pymongofrom urllib.parse import urlencodefrom requests.exceptions

seleniumNBA將數據儲到MongoDB

per lis lan auth fin wait aik target span from selenium import webdriver driver = webdriver.Chrome() url = ‘https://www.basketball-re

WebMagic 抓圖片至本地

入門實例 end 中文 creat 並保存 網絡 進入 nec sel 1.近期接觸到java 爬蟲,開源的爬蟲框架有很多,其中WebMagic 是國產的,文檔也是中文的,網上資料很多,便於學習,功能強大,可以在很短時間內實現一個簡單的網絡爬蟲。具體可參考官網 http:/

scrapy圖片自定義圖片名字

  前言      Scrapy使用ImagesPipeline類中函式get_media_requests下載到圖片後,預設的圖片命名為圖片下載連結的雜湊值,例如:它的下載連結是,雜湊值為7710759a8e3444c8d28ba81a4421ed,那麼最終的圖片下載到指定路徑後名稱為771075

第一個小爬蟲--圖片儲存

import urllib.request import re import os def url_open(url): req=urllib.request.Request(url) req.add_header('User-Agent','

爬蟲:圖片儲存在某路徑下

import re import urllib.request def getHtml(url): page=urllib.request.urlopen(url) html=page.read() return html def getImg(html):

爬蟲:圖片保存在某路徑下

page err space print ont quest erro += .html import re import urllib.request def getHtml(url): page=urllib.request.urlopen(url)

使用scrapy簡單圖片儲存

# -*- coding: utf-8 -*- import scrapy class Tu699Spider(scrapy.Spider): name = 'tu_699' allowed_domains = ['699pic.com'] start_urls = ['http:

python爬蟲 圖片儲存

今天爬了美麗說網站首頁的圖片 可是等把圖片的url獲取之後卻不知道怎麼儲存了。。(感覺自己當時腦子短路了) 然後自己上網查看了一些方法。。 1.網上有說 urllib模組中有個urlretrieve函式可以直接下載儲存,於是我天真的寫了urllib.urlretrieve

圖片存入資料夾中

import urllib.request import urllib.parse import redef handler_url(page,base_url): url = base_url + str(page) + '/' headers = {

爬蟲記錄(4)——多執行緒圖片下載

還是繼續前幾篇文章的程式碼。 當我們需要爬取的圖片量級比較大的時候,就需要多執行緒爬取下載了。這裡我們用到forkjoin pool來處理併發。 1、DownloadTask下載任務類 package com.dyw.crawler.util;

Scrapy圖片儲存

Scrapy提供了一個 item pipeline ,來下載屬於某個特定專案的圖片,比如,當你抓取產品時,也想把它們的圖片下載到本地。本文接豆瓣top250電影,爬取海報圖片。   一、Images

selenium圖片

#coding:utf-8 #__author__='wang' import os import time import urllib from selenium import webdriver driver = webdriver.Firefox() driver.g

通過python 網址url 自動提交

bad 如果 ucc pen remove get jpg res num 通過python 爬取網址url 自動提交百度 昨天同事說,可以手動提交百度這樣索引量會上去。 然後想了下。是不是應該弄一個py 然後自動提交呢?想了下。還是弄一個把 python 代

盤外鏈採集分析 使用者分享 問題記錄

採集的時候uk沒什麼問題,出錯加延時1分鐘就好了。 採集檔案的時候,errno=-55 出錯加延時約10分鐘就可以。但還有下面幾個問題。 1.檔案,資料夾,多檔案分享 都有短地址 shorturl ,比如1c0KyGhU  加上字首後http://pan.baidu.com

python requests庫網頁小實例:/360搜索關鍵詞提交

ext aid col text () status exc print 爬取 百度/360搜索關鍵詞提交全代碼: #百度/360搜索關鍵詞提交import requestskeyword=‘Python‘try:   #百度關鍵字  # kv={‘w

selenium python 的登陸與退出

cnblogs () .text http implicit utf-8 lin ref down 1 # -*- coding:utf-8 -*- 2 from selenium import webdriver 3 from selenium.webdriver

基於的自動化測試方案設計

遍歷 code 多人 清理 rec tca 自己 管理 odin 一、概述 【測試地址】:https://pan.baidu.com 【測試工具】selenium、requests 【腳本語言】Python 【運行環境】Windows 百度網盤作為文件存儲及分享的平臺,核心

通過分享後的連結獲取外鏈圖片地址

該連結地址主要內榮個塊如下: .showPicture('https:\/\/thumbnail0.baidupcs.com\/thumbnail\/f54a88b2c15b99b5513afcb867c4159a?fid=219699917-250528-971896340651096&