find函数

Selenium笔记

廉价感情. 提交于 2019-11-29 12:17:55
现在许多网站都不是静态网站(静态加载HTML文档),大部分使用javaScripr或者Ajax技术加载一些数据,使用普通的爬虫程序爬取不到这些数据,因为普通的爬虫程序没有能力执行javaScript程序,在javaScript程序执行之前就返回爬取到的整个页面的数据了。因此使用Selenium模拟浏览器访问网站来获取网页文档。 1.安装Selenium框架 pip install Selenium 安装谷歌浏览器的驱动chromedriver.exe,并复制到Python的scripts目录下,其他浏览器下载相对应的驱动 下载网址: http://npm.taobao.org/mirrors/chromedriver/ 2. 3.Selenium查找HTML元素 使用xpath查找主要有两个函数 : (1)find_element_by_xpath(xpath):查找xpath匹配的第一个元素,如果找到就返回一个WebElement类型对象,找不到就抛出异常; (2)find_elements_by_xpath(xpath):查找xpath匹配到的所有元素组成的的列表,每个元素都是一个WebElement类型对象,找不到就返回空列表; (3)任何一个WebElement对象都可以再调用find_element_by_xpath和find_element_xpath函数 (4

shell 编程四剑客简介 find sed grep awk(微信公众号摘抄)

大城市里の小女人 提交于 2019-11-28 21:42:03
一,Shell编程四剑客之Find 通过如上基础语法的学习,读者对Shell编程有了更近一步的理解,Shell编程不再是简单命令的堆积,而是演变成了各种特殊的语句、各种语法、编程工具、各种命令的集合。 在Shell编程工具中,四剑客工具的使用更加的广泛,Shell编程四剑客包括:find、sed、grep、awk,熟练掌握四剑客会对Shell编程能力极大的提升。 四剑客之Find工具实战,Find工具主要用于操作系统文件、目录的查找,其语法参数格式为: find path -option [ -print ] [ -exec -ok command ] { } \; 其option常用参数详解如下: -name filename #查找名为filename的文件; -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件; -size n[c] #查长度为n块[或n字节]的文件; -perm #按执行权限来查找; -user username #按文件属主来查找; -group groupname #按组来查找; -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前; -atime -n +n #按文件访问时间来查找文件; -ctime -n +n #按文件创建时间来查找文件; -mmin -n +n

《Python网络爬虫权威指南》读书笔记2(第2章:复杂HTML解析)

只愿长相守 提交于 2019-11-27 21:23:27
2.1 不是一直都要用锤子 避免解析复杂HTML页面的方式: 寻找“打印此页”的链接,或者看看网站有没有HTML样式更友好的移动版本(把自己的请求头设置成处于移动设备的状态,然后接受网站移动版)。 寻找隐藏在JavaScript文件里的信息。要实现这一点,你可能需要查看网页加载的JavaScript文件。 虽然网页标题经常会用到,但是这个信息也许可以从网页的URL链接里获取。 如果你要找的信息不只限于这个网站,那么你可以找找其他数据源。 2.2 再端一碗BeautifulSoup 下面让我们创建一个网络爬虫来抓取http://www.pythonscraping.com/pages/warandpeace.html这个网页。 在这个网页里,小说人物的对话内容是红色的,人物名称都是绿色的。你可以看到网页源代码里span标签引用了对应的CSS属性,如下所示: "<span class="red">Heavens! what a virulent attack!</span>" replied <span class="green">the prince</span>, not in the least disconcerted by this reception. 可以使用第1章类似的程序抓取整个页面,然后创建一个BeautifulSoup对象: from urllib.request

jQuery遍历之find()

守給你的承諾、 提交于 2019-11-27 19:33:28
/**案例说明: *首先理清楚find()函数同children()函数之间的区别 *find()会遍历给定节点下的所有的元素节点。 *children()函数之后遍历给定节点下的单一层级。 *特例说明: *find()方法第一个明显的特征是其接受的选择器表达式与$()函数传递的表达式类型吸纳沟通。通过传递元素是否匹配来对元素进行过滤。[官方解释] *第二个点:它只会对给定元素子集元素进行遍历匹配。[重点] *第三个点:选择器对于.find()函数是必须参数。如果需要实现对所有子集元素进行获取,可以直接传递通配选择器['*']。[重点] */ /** * 暂未设定案例参考。 */ 来源: https://www.cnblogs.com/tanjiyuan/p/11374376.html

文件查找

◇◆丶佛笑我妖孽 提交于 2019-11-27 19:19:09
文件查找和压缩 文件查找 在文件系统上查找符合条件的文件 locate命令:模糊查locate,非实时需手动执行更新数据库updatedb -i:不区分大小写的搜索 示列locate -i pasSSWd -n:只列出查询出结果的前三个 示列:locate -n3 passwd -r:使用基本正则表达式需要加r 示列:locate -r ‘.conf$’ find命令:实时查找工具,通过遍历指定路径完成文件查找 -maxdepth:最大搜索目录深度,指定目录下的文件为1级 -depth:先处理目录内的文件,再处理指定目录 示列:find /tmp/ -maxdepth 2 -name wujiancong -mindepth:查看不小于多深的文件,不低于所限内容 示列:find /etc -mindepth 4 -name .conf -name:“文件名称” 支持glob函数 ,?,[],[^] -iname:“文件名称” 不区分大小写查找 -inum:按inode号查找 -samefile name 相同inode号的文件 -regex:以模式匹配整个文件路径,而非文件名称 示列:find /etc -regex “. .sh$" 根据属主、属组查找 -user username :查找属主为指定用户UID的文件 示列:find -user wjc -group grpname

linux find命令

非 Y 不嫁゛ 提交于 2019-11-27 18:58:21
以下内容为视频课程的补充内容,要了解更多linux命令,可以通过以下链接学习: http://edu.51cto.com/course/13070.html 通过文件名查找法:   这个方法说起来就和在WINDOWS下查找文件一样容易理解了。如果你把这个文件放在单个的文件夹里面,只要使用常见的“ls"命令就能方便的查找出来,那么使用“find”命令来查找它就不能给你留下深刻的印象,毕竟“find”命令的强大功能不止这个。如果知道了某个文件的文件名,而不知道这个文件放到哪个文件夹,甚至是层层套嵌的文件夹里。举例说明,假设你忘记了httpd.conf这个文件在系统的哪个目录下,甚至在系统的某个地方也不知道,则这是可以使用如下命令:   find / -name httpd.conf   这个命令语法看起来很容易就明白了,就是直接在find后面写上 -name,表明要求系统按照文件名查找,最后写上httpd.conf这个目标文件名即可。稍等一会系统会在计算机屏幕上显示出查找结果列表: etc/httpd/conf/httpd.conf   这就是httpd.conf这个文件在Linux系统中的完整路径。查找成功。   如果输入以上查找命令后系统并没有显示出结果,那么不要以为系统没有执行find/ -name httpd.conf命令,而可能是你的系统中没有安装Apache服务器

自定义函数实现判断一个字符串是否包含另外一个字符串

泄露秘密 提交于 2019-11-27 15:11:25
PHP 自定义函数实现判断一个字符串是否包含另外一个字符串 <?php $str = '按时鉴定会肺结核士大夫看见'; $find_str = '大夫'; echo isExist( $str, $find_str ); function isExist( $str, $find_str ) { for ( $i=0; $i < strlen( $str ); $i++ ) { if( $str[$i] == $find_str[0] ) { $s = ''; $s.= $str[$i]; for( $j = 1; $j < strlen( $find_str ); $j++ ) { if( $i+$j > strlen( $str ) ) { break; } $s.= $str[$i+$j]; } if( $s == $find_str ) { return '存在'; } } } return '不存在'; } ?> 来源: https://www.cnblogs.com/laowenBlog/p/11367895.html

递增整数序列的二分详解

点点圈 提交于 2019-11-27 09:23:41
二分搜索是一种时间复杂为 log 2 n 的算法,可以用于单调函数求根和单调序列查询的有效算法,即使数列长度高达 10^9 也只需二分 31 次,查询速度接近常数,同时二分思想是一种很基础很重要的思想希望同学们都能掌握; 单调数列 ( 单调递增 ) 通用二分模板 简洁版 完全版 当 start_index =0 , end_index=len-1 时,功能和简洁版一样; 1. 为啥不能写下面这句 if ( mid==n ) return mid 因为有时候会有 这样的一种数列 1 2 2 2 2 3 这个是非严格单调序列,如果叫你寻找 2 第一次出现的位置显然会出现错误 所以上面那个写法是不行的; 2. 为啥不写 left=mid+1 和 right=mid-1 因为有些情况下会不能用 比如在数列 a []={0 1 3 4,5} 找大于 2 的第一个位置 当你 right=4 , left=0; 则 mid=2 ; A[mid]>2 所以 若 r=mid-1=1 你就错过去了,除非你用 if 判断一下,但那样就太冗长难看了; 3. 为啥不能写 w hile(left ! =right) 因为上面的原因我们没用 left=mid+1 和 right=mid-1 而是 left=mid,right=mid 若 a[]={0,1,3,4}; 则找 2 的位置时会死循环 因为 当

python网络爬虫与信息采取之解析网页(二)---BeautifulSoup库的find()和find_all()

[亡魂溺海] 提交于 2019-11-27 08:54:47
BeautifulSoup库有很多属性,上篇文章我们也已经介绍过,但如果你用的多了,你会发现,其实学会其中几个功能,你就完全掌握了这个库。本篇文章我主要介绍一下find() 和 find_all()函数,如果想了解其他一些不常用的功能,可以自行百度。 而本文介绍的是一个 用标签的属性和内容来获取内容 的功能 find() 和 find_all()函数可以说是两个函数,也可以说是一个函数。为什么呢?其实这两个函数的参数基本上一样,让他们产生区别的就是limit这个参数,这个参数是范围限制参数,可以控制你find的范围,而find()就是find_all()的limit参数为1时的特殊形式。因此,由于这个原因,这两个函数的唯一区别也就显而易见了: 唯一区别:*find()返回的是第一个匹配的标签结果 *find_all()返回的是所有匹配结果的列表 除了区别,剩下的那就都相似了,接下来将以find_all()函数为例进行讲解: find_all(tag, attributes, recursive, text, limit, keywords) 注:find_all() 和 findAll()函数是一样的 1.标签参数(tag) 可以通过传一个标签的名称或多个标签的名称组成的python列表形式来做标签参数; 格式: 一个------”tag“ 多个------{"tag1",

python 爬虫之find、find_all用法

非 Y 不嫁゛ 提交于 2019-11-27 08:53:34
BeautifulSoup 文档里,find、find_all两者的定义如下: find_all(tag, attributes, recursive, text, limit, keywords) find_all(标签、属性、递归、文本、限制、关键词) find(tag, attributes, recursive, text, keywords) find与find_all的区别,find只会取符合要求的第一个元素,find_all会根据范围限制参数limit限定的范围取元素(默认不设置代表取所有符合要求的元素,find 等价于 find_all的 limit =1 时的情形),接下来将对每个参数一一介绍。 另外,find_all会将所有满足条件的值取出,组成一个list 一、标签tag 标签参数 tag 可以传一个标签的名称或多个标签名称组成的set做标签参数。例如,下面的代码将返回一个包含 HTML 文档中所有标题标签的列表: find_all({"h1","h2","h3"}) 下面以中原网页面举例,如下图,现在要将页面上的所有标题取出,观察html可以发现,标题对应的tag 是h4,则soup.find_all('h4') from bs4 import BeautifulSoup import requests url = 'https://gz.centanet