Python常用代码(4)

最近由于科研需求,重温了自己硕士时候写的Python+Selenium,让浏览器自动帮你下文献,发现Selenium真是扒数据的利器,使用Selenium可以实现cssci题录数据的自动化下载。

现在把关键代码记录在这里备查。

需要的模块。

import osfrom selenium import webdriverimport lxml.etree as etree

打开网页。

def openPage(browser,url):    browser.get(url)

获取网页HTML结构。

def get_html(browser):    html = browser.page_source #得到网页信息    info_html = etree.HTML(html) #使用lxml.etree解析网页    return info_html

输入检索词。

def input_data(browser, input_text):    time.sleep(2)    browser.find_element_by_name("keyword1").send_keys(input_text)    browser.find_element_by_xpath("//div[@id='wx_ly']/img").click()

选择“论文”类型。

def get_paper(browser):    time.sleep(2)    browser.find_element_by_xpath('//ul[@id="show_jl_wzlx"]/li/a').click()

点击选择全部,完成本页下载,并翻页,下载下一页,直到最后一页。

def do_download(browser):    is_end = True    while(is_end):        time.sleep(2)        browser.find_element_by_xpath('//input[@name="select_down_all"]').click()        browser.find_element_by_xpath('//input[@value="下载"]').click()        time.sleep(1)        browser.find_element_by_xpath('//input[@name="select_down_all"]').click()
        try:            time.sleep(1.5)            browser.find_element_by_link_text('下一页').click()        except:            time.sleep(2)            is_end = False            print('已到尾页')

(推送声明原创需要300字以上,以下为凑字数)

编程只是一种工具,适用于完成机械、重复的任务。例如对于题录数据下载这种任务,几乎是从事文献计量学研究的人都要经历的,而题录数据格式一致、下载流程一致,题录数据的下载完全就是一项搬砖的工作。对于这种工作,还是交给电脑自动完成会比较好一些。编程得到的所谓程序就是将这些流程固化为代码,让计算机模拟人的下载操作,节省大把搬砖的时间,岂不妙哉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值