2015-11-05 6 views
2

Мне нужно загрузить все файлы, на которых есть кнопка загрузки на веб-странице, например, эта страница: http://a.vmall.com/topic/list/d6aac030f17e49d990b8a1996e872d53, каждое приложение имеет кнопку загрузки, для которой требуется нажать «загрузить» на веб-сайте, после чего начнется загрузкаКак автоматически загружать файлы с кнопкой загрузки на веб-странице?

Как написать скрипт python или selenium для автоматической загрузки всех файлов с кнопкой «загрузить»? благодаря

ответ

2

селеном бесполезно здесь, просто использовать BeautifulSoup, чтобы получить ссылку.

Например:

import re 
import requests 
from bs4 import BeautifulSoup 

link = 'http://a.vmall.com/topic/list/d6aac030f17e49d990b8a1996e872d53' 

r = requests.get(link) 
soup = BeautifulSoup(r.text, "html.parser") 

for i in soup.find_all('a', {'class': "app-btn-down"}): 
    print(re.search('http://.*\.apk', i.get('href')).group(0)) 

Выход:

http://122.11.38.214/dl/appdl/application/apk/72/723e6026cf0f4a2eb4b7f564f6c82715/com.google.android.wearable.app.cn.1510301352.apk 
http://122.11.38.214/dl/appdl/application/apk/17/1768953363fc4bc39957bc2d1a8e0cb0/com.flightmanager.view.1510161532.apk 
http://122.11.38.214/dl/appdl/application/apk/49/494ce5d2b4074fc8a47709fc10145d80/com.tencent.qqlite.1510191652.apk 
http://122.11.38.214/dl/appdl/application/apk/6d/6de0e6ea05ee4b53a6a730912f1cb732/com.tencent.news.1510271932.apk 
http://122.11.38.214/dl/appdl/application/apk/82/82ff5be0aee442feb6501f604e30c815/com.eg.android.AlipayGphone.1510291547.apk 
http://122.11.38.214/dl/appdl/application/apk/5a/5ae799a7fb4545e4903abaf2b5800751/ctrip.android.view.1511051017.apk 
http://122.11.38.214/dl/appdl/application/apk/64/643e6561255a473aaa3348b36d045404/com.tencent.mm.1510201247.apk 

Тогда вы могли бы сохранить там ссылки, или использовать другой пакет, таких как URLLIB или запросов, чтобы загрузить их.

+0

хороший ответ, я буду hava попробовать :) спасибо! –

+0

@jiajiaguo Если ответ полезен, пожалуйста, примите его. –

+0

больше не работает? – AsheKetchum

0

Я думаю, вы должны попробовать это трудный путь:

btns = driver.find_elements_by_tag_name("a") 
for btn in btns: 
    btn.click() 
+0

Хорошее начало, но есть такой тег: '返回' –

+0

спасибо, у меня будет попытка :) –

Смежные вопросы