个人总结:超实用PHP函数总结整理
优采云 发布时间: 2022-09-24 07:08个人总结:超实用PHP函数总结整理
1、PHP加解密
PHP加解密函数可以用来加密一些存储在数据库中的有用字符串,通过可逆地解密字符串,这个函数使用base64和MD5加解密。
2、PHP 生成随机字符串
当我们需要生成随机名称、临时密码等字符串时,可以使用以下函数:
4、PHP 获取文件大小和格式
下面使用的函数可以获取文件的大小,并将其转换为可读的KB、MB等格式。
如下使用:
5、PHP 替换标签字符
有时我们需要用指定的内容替换字符串和模板标签,可以使用以下函数:
如下使用:
6、PHP 列出目录中的文件名
如果要列出目录中的所有文件,请使用以下代码:
如下使用:
7、PHP 获取当前页面 URL
以下函数可以获取当前页面的URL,无论是http还是https。
如下使用:
8、PHP强制文件下载
有时候我们不希望浏览器直接打开文件,比如PDF文件,而是直接下载文件,那么下面的函数可以强制下载文件,application/octet-stream头类型为在函数中使用。
如下使用:
下载('/down/test_45f73e852.zip');
9、PHP 截取字符串长度
我们经常会遇到需要截取字符串长度(包括汉字)的情况。比如标题显示不能超过多少个字符,超出的长度用...表示。下面的函数可以满足你的需求。
10、PHP获取客户端真实IP
我们经常使用数据库来记录用户的IP,下面的代码可以得到客户端的真实IP:
如下使用:
11、PHP 防止 SQL 注入
为了安全起见,我们在查询数据库的时候,需要过滤掉一些非法字符,防止恶意SQL注入。请看一下函数:
如下使用:
12、PHP页面提示和跳转
我们在进行表单操作时,有时为了友好需要提示用户操作结果,并跳转到相关页面,请看以下功能:
如下使用:
13、PHP计算时间
在处理时间的时候,我们需要从某个时间点开始计算当前时间的长度,比如计算客户端的运行时间,通常用hh:mm:ss来表示。
如下使用:
总结:python自动抓取论文_用python抓取某期刊最近5年发表的所有文章的关键词
在学术研究中,往往需要了解某个领域的最新发展趋势,比如发现最热门、上升最快的关键词。一些学术服务网站,比如Web of Science,提供了类似的服务,但是一些机构不订阅这些服务,在使用中难免会遇到各种问题,比如定制化不足。本期文章,我们探讨如何利用python和免费资源,根据论文进行研究趋势分析关键词。
精选期刊
想了解近年来国际商务领域的文章刊物,在google搜索“google学术期刊排名国际商务”,点击第一个链接,得到如下页面:
p>
以Journal of International Business Studies为例,它展示了如何捕捉近年来发表的所有信息文章。
查找 文章列表
经过一番搜索,我找到了自 2013 年以来发布的所有 442 个文章的列表:
点击图中红框内的按钮,将所有442篇文章文章的信息导出为CSV文件。
但是文档中只有每个文章的item title(项目标题)、作者(authors)和链接(URL),没有这么重要的关键词(关键词)和抽象(抽象)信息。
接下来,我们在python中编写一个循环,打开每个文章的链接,抓取关键词和摘要。
抓取网页元素
首先,我们定义一个get_keywords_abstract()函数来抓取给定网页中的相关元素,代码如下:
导入请求
从scrapy导入选择器
def get_keywords_abstract(url):
r = requests.get(url) #打开网页
if r.status_code != 200: #如果网页连接错误,返回空字符串
print("连接错误:{}".format(url))
返回 "", ""
选择器 = 选择器(text=r.text)
keywords = selector.css('.Keyword::text').extract()
abstract = selector.css('#Abs1 p::text').extract_first()
返回关键字,摘要
值得注意的是,我使用了scrapy库中的Selector类来解析网页。之所以这样,是因为相比Beautiful Soup、Pyquery等库,我更熟悉scrapy下css选择器的使用。
为了验证上面的代码是否正确,我在命令行中执行了下面的测试代码:
test_url = '%2Fs41267-019-00235-7'
关键词,摘要 = get_keywords_abstract(test_url)
打印(关键字)
打印(摘要)
结果有点出人意料:
>>> 打印(关键字)
['进入模式\xa0', '偏离预测\xa0', '内化理论\xa0', '有限理性\xa0', '认知偏差\xa0']
>>> 打印(摘要)
'我们探讨决策者何时以及为何选择偏离内部化理论预测的国际进入模式(例如,等级或市场)。通过将认知视角应用于进入模式决策,我们提出先前国际活动的表现以不同于内化理论假设的方式影响决策者的行为。更具体地说,由于一个'
关键词末尾有多余的字符,问题不大,可以在后续处理中批量删除。真正的问题是摘要不完整。
在浏览器中打开测试网页,右键查看源码,发现摘要中有一些html标签,如:
...由于代表性偏差,表现不佳...
正是这些 html 标签干扰了正常的文本抓取。
为了解决这个问题,我修改了get_keywords_abstract()函数:
导入请求
从scrapy导入选择器
def get_keywords_abstract(url):
r = requests.get(url) #打开网页
if r.status_code != 200: #如果网页连接错误,返回空字符串
print("连接错误:{}".format(url))
返回 "", ""
选择器 = 选择器(text=r.text)
keywords = selector.css('.Keyword::text').extract()
abstracts = selector.css('#Abs1 p::text').extract() #将extract_first()改为extract(),抓取所有文本片段
abstract = ''.join(abstracts) #连接文本片段
返回关键字,摘要
重新运行测试代码,发现问题解决了。
导入 CSV 文件
下一步是在 CSV 文件中导入 URL 列表,循环遍历 关键词 和摘要。
pandas 库用于导入 CSV 文件:
将熊猫导入为 pd
articles = pd.read_csv('../data/jibs_articles.csv', sep=',')
类型(文章)#
articles.shape # (442, 10)
articles.columns # 列名
articles.head() # 打印前 5 行
for循环
一旦一切正确,循环开始:
urls = 文章['URL']
关键字 = pd.Series(index=articles.index)
abstract = pd.Series(index=articles.index)
for i, url in enumerate(urls):
关键字[i],摘要[i] = get_keywords_abstract(url)
print("Finish article: {}".format(i)) # 抓取网页后,报个号,等待的时候感觉好点。
等了大约20分钟后,我终于抓住了它。只有一个文章打开错误。
保存到 CSV 文件
接下来,我们将关键词和summary整合到一个数据表中,并保存到一个CSV文件中。
articles['keywords'] = 关键字
文章['abstract'] = 摘要
articles.columns # 将关键词和摘要两列添加到数据表中
articles.to_csv('../data/jibs_keywords_abstract.csv', sep=',', header=True)
为了方便下次使用,我们对数据进行了“腌制”:
*敏*感*词*泡菜
with open("../data/articles.pickle", "wb") as f:
pickle.dump(文章, f)
下一次,我们将讨论基于关键词的研究趋势。