《python爬虫入门——邓旭东ppt课件.ppt》由会员分享,可在线阅读,更多相关《python爬虫入门——邓旭东ppt课件.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去Python爬虫快速入门中南大学商学院邓旭东火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去自我介绍2009-2013 哈尔滨工业大学经济管理学院2015-至今 中南大学商学院 主要研究方向为线上社群及消费者行为,在学习研究过程中,习得了数据科学相关技术,如数据采集、数据清理、数据规整、统计分析熟悉R、python、MongoDB。火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇
2、敢地冲出去目录二、准备知识一、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫爬虫工作原理HTML+CSSPython基本知识找规律构建urlrequests库如何解析网页BeautifulSoup re库的使用条件、循环语句try。Except异常处理。数据存储控制访问频率伪装装成浏览器使用代理IPselenium+Firefox(36版)抓包应对动态网页火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去引言爬虫能做什么?微博最近有啥热门话题淘宝京东上某商品价格变动邮箱通知女/男神最新动态谁点赞最活跃BBS抢沙发社
3、交网络分析.火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去引言爬虫能做什么一句话,只要浏览器有的,你都可以抓可以爬火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去引言爬虫好学吗?frommathimportpowYouJoinUs=is:TrueIfYouJoinUsis:result=pow(1.01,365)print(result)37.7834简单的道理火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去目录一
4、、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫爬虫工作原理HTMLPython基本知识找规律构建urlrequests库如何解析网页BeautifulSoupre库的使用条件、循环语句try。Except异常处理。数据存储控制访问频率伪装装成浏览器使用代理IPselenium+Firefox(36版)抓包应对动态网页二、准备知识火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去爬虫工作原理蓝色线条:发起请求(request)红色线条:返回响应(response)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要
5、当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去HTML标签访问Python中文社区https:/ 邓旭东火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去列表list1,2,3,4,51,2,3,4,5a,b,c,d(1,2),(1,2)列表中的元素可以是字符串,数字,元组,字典,集合下面的写法是不对的a,b,c (除非a,b,c是变量)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去元组tuple(1,2,3,4)(1,2,3,4)(a,b,c,d)火灾袭来时要迅速
6、疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去集合seta,b,c集合是不重复的元素组成的一个基本数据类型。火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去字典dictDict=name:邓旭东,age:26,gender:male在大括号中,数据成对存储,冒号左边是键(key),冒号右边是值(value)Dictage26火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去for循环for x in 1,2,3:print(x)12
7、3火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去目录一、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫爬虫工作原理HTMLPython基本知识找规律构建urlrequests库如何解析网页BeautifulSoupre库的使用条件、循环语句try。Except异常处理。数据存储控制访问频率伪装装成浏览器使用代理IPselenium+Firefox(36版)抓包应对动态网页二、准备知识火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去找规律构建url通过点
8、击翻看同一个目录下的多个页面,发现规律,定制url火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去发现规律定制url火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去发现规律定制url这里的url规律是页码数减1后乘以20火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去构建网址Base_url=https:/ page in range(1,94,1):Num=page-1 url=Base_url.format(nu
9、m=Num*20)print(url)https:/ is an elegant and simple HTTP library for Python,built for human beings.Requests是一个优雅简洁的Python HTTP库,给人类使用。火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去requests常用方法最普通的访问url =http:/ Mac OS X 10_12_3)AppleWebKit/537.36(KHTML,like Gecko)Chrome/56.0.2924.87 Safari/53
10、7.36r =requests.get(url,headers=Headers)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去requests常用方法使用cookie访问Cookie=Cookie:UM_distinctid=15ab64ecfd6592-0afad5b368bd69-1d3b6853-13c680-15ab64ecfd7b6;remember_user_token=W1sxMjEzMTM3XSwiJDJhJDEwJHhjYklYOGl2eTQ0Yi54WC5seVh2UWUiLCIxNDg5ODI2OTgwLjg4
11、ODQyODciXQ%3D%3D-ac835770a030c0595b2993289e39c37d82ea27e2;CNZZDATA1258679142=559069578-1488626597-https%253A%252F%252F%252F%7C1489923851r=requests.get(url,cookies=cookies)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去requests常用方法 r.text u“repository”:“open_issues”:0,“url”:“https:/ 火灾袭来时要迅速疏散
12、逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去目录一、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫爬虫工作原理HTMLPython基本知识找规律构建urlrequests库如何解析网页BeautifulSoupre库的使用条件、循环语句try。Except异常处理。数据存储控制访问频率伪装装成浏览器使用代理IPselenium+Firefox(36版)抓包应对动态网页二、准备知识火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去如何解析网页1.火狐Firebug/谷歌的开
13、发者工具2.BeaufifulSoup/re库火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去Python基本知识火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去BeautifulSoupbsObj=BeautifulSoup(html,“html.parser”)格式化输出bsObj对象的内容4567891011html=The Dormouses storyThe Dormouses storyOnce upon a time there were three littl
14、e sisters;and their names were,Lacie andTillie;and they lived at the bottom of a well.两种主要的对象:Tag、NavigableString火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去tag对象bsObj.titleThe Dormouses storybsObj.headThe Dormouses storybsObj.a注意:它查找的是在所有内容中的第一个符合要求的标签,如果要查询所有的标签,这种方法不奏效火灾袭来时要迅速疏散逃生,不可蜂拥而
15、出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去BeautifulSoup 遍历文档树#直接子节点 .contentsbsObj.head.contents#输出的为列表The Dormouses storybsObj.head.contents0 从列表中取出子节点The Dormouses story火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去BeautifulSoup 遍历文档树#直接子节点 .childrenbsObj.head.children#返回生成器,可以迭代取出来 for child in
16、 soup.body.children:print child The Dormouses storyOnce upon a time there were three little sisters;and their names wereLacie andTillieand they lived at the bottom of a well.火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去Tag对象#Attrs The Dormouses storybsObj.p.attrs class:title,name:dromousebs
17、Obj.p.attrs classtitlebsObi.p.attrs.get(class)title火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去NavigableString对象#获取标签内部的文字bsObj.p.stringThe Dormouses story火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去find /find_allfind_all(name,attrs)得到的所有符合条件的结果,返回的是列表格式bsObj.findall(a),Lacie,Til
18、liebsObj.findall(a,href:http:/ 今年 27岁 BeautifulSoup获取html文件中的邓旭东和27,需要这样bsObj=BeautifulSoup(html,html.parser)Contents=bsObj.findall(span)Contents0我叫邓旭东 Contents0.string我叫邓旭东Contents0.string2:邓旭东Contents1今年27岁Contents1.string今年27岁Contents1.string2:-227火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇
19、敢地冲出去re库-正则表达式在爬虫的应用html=我叫邓旭东 今年 27岁 Import repattern=pile(r 我叫(.*?)今年(.*?)岁)result=re.findall(pattern,html)result(邓旭东,27)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去re 正则表达式常用匹配规则.匹配任意字符(“n”除外)a.c abcd 数字0-9 adc a1c *匹配前一个字符的0或无限次 ab*c ac或abc 或abbc+匹配前一个字符的1或无限次 ab+c abc 或abbc?匹配前一个字符0或1
20、次 abc?ab或abc火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去re库方法pattern=pile(string)#以下为匹配所用函数re.findall(pattern,string)返回列表re.match(pattern,string)从string的开头匹配,匹配成功立即返回pattern的内容,不再匹配string剩余部分re.search(pattern,string)从string全部匹配,如果匹配不成功返回none,匹配成功返回一个或多个匹配内容re.split(pattern,string)re.sub(pa
21、ttern,repl,string)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去目录一、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫爬虫工作原理HTMLPython基本知识找规律构建urlrequests库如何解析网页BeautifulSoupre库的使用条件、循环语句try。Except异常处理数据存储控制访问频率伪装装成浏览器使用代理IPselenium+Firefox(36版)抓包应对动态网页二、准备知识火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇
22、敢地冲出去for语句用来循环,重复爬虫动作1、遍历网址,依次对网址发送请求2、解析网页时,返回的是列表或生成器的对象,通过for遍历对象中的元素并对每个元素进行操作火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去if条件判断语句用来解决爬虫过程中哪些要,哪些不要的问题哪些执行,哪些不执行的问题火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去try。Except异常处理。情景:你设计的程序在完美情况下当然不会出错,但现实是经常有意外出现,一遇到问题就程序就退出运行。解决办法:t
23、ryexcept异常处理,增强你爬虫的健壮性,解决遇到问题程序停止火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去数据存储初级的爬虫,大多都是为了获得文本数据,只需要用csv、txt文件存储即可import csvcsvFile=open(/apple/usr/python/data.csv,a+,newline=,encoding=utf-8)writer=csv.writer(csvFile)writer.writerow(colum1,colum2,colum3)writer.writerow(colum1,colum2,col
24、um3)csvFile.close()火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去数据存储f=open(/apple/usr/python/data.txt,a+,encoding=utf-8)f.write(sssss)f.close也可以使用:with open(/apple/usr/python/data.txt,a+,encoding=utf-8)as f:f.write(sssss)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去开始采集数据火灾袭来时要迅速疏散
25、逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去目录一、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫爬虫工作原理HTMLPython基本知识找规律构建urlrequests库如何解析网页BeautifulSoupre库的使用条件、循环语句try。Except异常处理数据存储控制访问频率伪装装成浏览器使用代理IPselenium+Firefox(36版)抓包应对动态网页二、准备知识火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去如何应对反爬火灾袭来时要迅速疏散逃生,不可蜂拥
26、而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去伪装成浏览器火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去控制访问频率火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去使用代理IP火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去目录一、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫爬虫工作原理HTMLPython基本知识找规律构建urlrequests库如何解析网页Be
27、autifulSoupre库的使用条件、循环语句try。Except异常处理数据存储控制访问频率伪装装成浏览器使用代理IPselenium+Firefox(36版)抓包应对动态网页二、准备知识火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去什么是动态网页火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去selenium+Firefox(36版)Win/mac 火狐资源链接
28、https:/ selenium import webdriverfrom bs4 import BeautifulSoup初始化浏览器driver=webdriver.Firefox()打开某个网址driver.get(url)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去Selenium基本知识如果网站需要输入登录账号密码这里用到这里用到firepath找到目标位置的找到目标位置的xpath找到输入账号框,清除框内信息,再输入你的账号找到输入账号框,清除框内信息,再输入你的账号driver.find_element_by_xpa
29、th(xpath).clear()driver.find_element_by_xpath(xpath).send_keys(你的账号)找到输入密码框,清除框内信息,再输入你的密码driver.find_element_by_xpath(xpath).clear()driver.find_element_by_xpath(xpath).send_keys(你的密码)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去Selenium基本知识定位“点击登录”框的位置的xpath,执行登录driver.find_element_by_xpat
30、h(xpath).click()访问你想爬的网页的网址driver.get(url)火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去Selenium基本知识获取该网页的源码html=driver.page_sourceBeautifulSoup定位标签bsObj=BeautifulSoup(html,html.parser)再之后如何操作很简单,我就不写了啊,视频里有火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去动态网页动态网页的特点是:动态网页的特点是:1、浏览器上面你看
31、到的数据,找不到与之对应的html标签。或者即使找到与之对应的标签,标签内部也没有数据2、网址规律很难发现爬动态网页的难点:爬动态网页的难点:难以构建网址火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去抓包应对动态网页火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去动态网页火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去动态网页火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去动态网页火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去动态网页火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去动态网页火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去数据科学之路火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去Thanks!
限制150内