Python爬虫批量下载ACM论文

2016年的时候的代码,当时按老板需求批量下载了某会议proceeding全部文章。好庆幸当时没有被当作滥用资源,封禁权限...

不过现在ACM改版了,这个应该不适用了。
仅保存一下,做个记录。

  • 在proceeding主页下找到所有文章链接
  • 遍历每个链接,下载pdf
from selenium import webdriver  
import time  
import urllib  
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains


driver = webdriver.Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')  

driver.get("http://dl.acm.org/citation.cfm?id=2207676")
elem = driver.find_element_by_id("ext-gen67")
#elem.send_keys(Keys.RETURN)
print elem
elem.click()

i= 0
elementllist =  driver.find_elements_by_name("FullTextPDF")
pdfurllist =  []

for element in elementllist: 
    pdfurllist.append(element.get_attribute('href'))
    i = i+1

import os
os.mkdir("chi2012")

i = 0
for url in pdfurllist:
    if url != None :      
        i = i+1
        print i
        driver.get(url)
        pdf = driver.current_url
        shorturl = pdf[0:pdf.index(".pdf")]
        pdfname = shorturl[shorturl.rindex("/")+1:]
        print pdfname
        data = urllib.urlopen(pdf).read()
        f = open("pdf\\"+pdfname+".pdf", 'wb')  
        f.write(data)  
        f.close()  

driver.close()

你可能感兴趣的:(Python爬虫批量下载ACM论文)