Datewhale组队学习-爬虫task02学习笔记
requests库真香!现在打开ipython习惯输入“import requests”,仿佛requests在手,互联网有求必应!
不过,我还需要一把筛子,沙里淘金。
奉上三大名筛,bs4、xpath、re!
bs4
我打算挑战下清华大学 ……的网页,requests.get一试,返回200,清华果然就是清华,拥抱开源的清华!拿来练手再好不过
链接: 清华大学新闻网.
先定个小目标,把清华大学的综合新闻抓过来。
解析页面,自从学了DOM后,花花绿绿的div、li、class再也阻挡不了我抓抓抓了。
其实一开始使用bs4挺纠结的,网上评论bs4很简单,可是一搜BeautifulSoup的用法,都是长这样的
我耐着性子读完了,可是却不知怎么用。咋办?打开Datawhale助教的笔记,模仿一段代码,哈哈讲了这么多原来就是这么用啊!万能用法,找到class=’********’, soup.find(class_=’*******’),神奇的事情出现了。python好啊,很多时候感觉对的,写出来就是对的,不想某++,感觉对的,写出来不对,感觉不对的,写出来也不对。于是,琢磨着,我仿佛可以写出爬取清华大学的七种用法。
浮夸了浮夸了,其实都是一个意思。
Xpath
上节课已经用过Xpath,没学会bs4之前觉得xpath天下无敌,学会bs4之后才明白re天下无敌。
Re
只要功夫深,re一定能学会!
附上简约版re速记手册,加油!
. - Any Character Except New Line
\d - Digit (0-9)
\D - Not a Digit (0-9)
\w - Word Character (a-z, A-Z, 0-9, _)
\W - Not a Word Character
\s - Whitespace (space, tab, newline)
\S - Not Whitespace (space, tab, newline)
\b - Word Boundary
\B - Not a Word Boundary
^ - Beginning of a String
$ - End of a String
[] - Matches Characters in brackets
[^ ] - Matches Characters NOT in brackets
| - Either Or
( ) - Group
Quantifiers:
-
- 0 or More
-
- 1 or More
? - 0 or One
{3} - Exact Number
{3,4} - Range of Numbers (Minimum, Maximum)
Sample Regexs
[a-zA-Z0-9_.±]aaa@qq.com[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+
下一篇: py2neo操作neo4j