书签 分享 收藏 举报 版权申诉 / 69
上传文档赚钱

类型python爬虫入门-邓旭东教育课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2656234
  • 上传时间:2022-05-15
  • 格式:PPT
  • 页数:69
  • 大小:6.77MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《python爬虫入门-邓旭东教育课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    python 爬虫 入门 邓旭东 教育 课件
    资源描述:

    1、pythonpython爬虫入门爬虫入门邓旭邓旭东东PPTPPT讲座讲座自我介绍2009-2013 哈尔滨工业大学经济管理学院2015-至今 中南大学商学院 主要研究方向为线上社群及消费者行为, 在学习研究过程中,习得了数据科学相关技术, 如数据采集、数据清理、数据规整、统计分析熟悉R、python、MongoDB。目录二、准备知识一、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫 爬虫工作原理 HTML+CSS Python基本知识 找规律构建url requests库 如何解析网页 BeautifulSoup re库的使用 条件、循环语句 try。Except异常处理

    2、。 数据存储 控制访问频率 伪装装成浏览器 使用代理IP selenium+Firefox(36版) 抓包应对动态网页 引言 爬虫能做什么?微博最近有啥热门话题淘宝京东上某商品价格变动邮箱通知女/男神最新动态谁点赞最活跃BBS抢沙发社交网络分析. 引言 爬虫能做什么一句话,只要浏览器有的,你都可以抓可以爬引言 爬虫好学吗?from math import powYouJoinUs = is:TrueIf YouJoinUsis: result = pow(1.01,365) print(result)37.7834简单的道理目录 一、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、

    3、高级爬虫爬虫工作原理HTMLPython基本知识 找规律构建url requests库 如何解析网页 BeautifulSoup re库的使用 条件、循环语句 try。Except异常处理。 数据存储 控制访问频率 伪装装成浏览器 使用代理IP selenium+Firefox(36版) 抓包应对动态网页 二、准备知识爬虫工作原理 蓝色线条:发起请求 (request) 红色线条:返回响应(response)HTML标签访问Python中文社区https:/ (for循环)条件语句 (if else while)表达式 (如age = 20)字符串str字符串:单(双、三)引号及其夹住的字符S

    4、tring = 我叫邓旭东String2:5 邓旭东列表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)集合seta, b, c集合是不重复的元素组成的一个基本数据类型。字典dictDict = name: 邓旭东, age: 26, gender: male在大括号中,数据成对存储,冒号左边是键(key),冒号右边是值(value)Dictage26f

    5、or循环for x in 1, 2, 3: print(x)123目录 一、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫 爬虫工作原理 HTML Python基本知识找规律构建urlrequests库 如何解析网页 BeautifulSoup re库的使用 条件、循环语句 try。Except异常处理。 数据存储 控制访问频率 伪装装成浏览器 使用代理IP selenium+Firefox(36版) 抓包应对动态网页 二、准备知识找规律构建url通过点击翻看同一个目录下的多个页面,发现规律,定制url发现规律定制url发现规律定制url这里的url规律是页码数减1后乘以

    6、20构建网址Base_url = https:/ page in range(1,94,1): Num = page - 1 url = Base_url.format(num=Num*20) print(url)https:/ is an elegant and simple HTTP library for Python, built for human beings.Requests是一个优雅简洁的Python HTTP库,给人类使用。requests常用方法最普通的访问url = http:/ = requests.get(url)伪装成浏览器的访问Headers = User-Age

    7、nt: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36r = requests.get(url,headers = Headers)requests常用方法使用cookie访问Cookie = Cookie: UM_distinctid=15ab64ecfd6592-0afad5b368bd69-1d3b6853-13c680-15ab64ecfd7b6; remember_user_token=W1s

    8、xMjEzMTM3XSwiJDJhJDEwJHhjYklYOGl2eTQ0Yi54WC5seVh2UWUiLCIxNDg5ODI2OTgwLjg4ODQyODciXQ%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,“u

    9、rl”:“https:/ #(4开头客户端问题,5开头服务器问题)200 目录 一、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫 爬虫工作原理 HTML Python基本知识 找规律构建url requests库如何解析网页BeautifulSoup re库的使用 条件、循环语句 try。Except异常处理。 数据存储 控制访问频率 伪装装成浏览器 使用代理IP selenium+Firefox(36版) 抓包应对动态网页 二、准备知识如何解析网页火狐Firebug/谷歌的开发者工具BeaufifulSoup/re库Python基本知识BeautifulSoupbsO

    10、bj = BeautifulSoup(html, “html.parser”)格式化输出bsObj对象的内容4567891011html = The Dormouses storyThe Dormouses storyOnce upon a time there were three little sisters; and their names were,Lacie andTillie;and they lived at the bottom of a well.两种主要的对象: Tag、NavigableStringtag对象bsObj.titleThe Dormouses storybs

    11、Obj.headThe Dormouses storybsObj.a注意:它查找的是在所有内容中的第一个符合要求的标签,如果要查询所有的标签,这种方法不奏效BeautifulSoup 遍历文档树#直接子节点 .contentsbsObj.head.contents #输出的为列表The Dormouses storybsObj.head.contents0 从列表中取出子节点The Dormouses storyBeautifulSoup 遍历文档树#直接子节点 .childrenbsObj.head.children #返回生成器,可以迭代取出来 for child in soup.body

    12、.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: dromousebsObj.p. attrs classtitlebsObi.p.attrs.get(class)titleNavigab

    13、leString对象#获取标签内部的文字bsObj.p.stringThe Dormouses storyfind /find_allfind_all(name , attrs) 得到的所有符合条件的结果,返回的是列表格式bsObj.findall(a), Lacie, TilliebsObj.findall(a, href: http:/ , attrs) 只返回第一个符合条件的结果,所以soup.find()后面可以直接接.text或者get_text()来获得标签中的文本。bsObj.findall(a)re库-正则表达式html = 我叫邓旭东 今年 27岁 BeautifulSoup

    14、获取html文件中的邓旭东和27,需要这样bsObj=BeautifulSoup(html, html.parser) Contents = bsObj.findall(span)Contents0我叫邓旭东 Contents0.string我叫邓旭东Contents0.string2:邓旭东Contents1今年27岁Contents1.string今年27岁Contents1.string2:-227re库-正则表达式在爬虫的应用html = 我叫邓旭东 今年 27岁 Import repattern = pile(r 我叫(.*?) 今年 (.*?)岁 )result = re.find

    15、all(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次 abc? ab或abcre库方法pattern = pile(string)#以下为匹配所用函数re.findall(pattern, string) 返回列表re.match(pattern, string) 从string的开头匹配,匹配成功立即返回pattern的内

    16、容, 不再匹配string剩余部分re.search(pattern, string) 从string全部匹配,如果匹配不成功返回none, 匹配成功返回一个或多个匹配内容re.split(pattern, string) re.sub(pattern, repl, string)目录 一、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫 爬虫工作原理 HTML Python基本知识 找规律构建url requests库 如何解析网页 BeautifulSoup re库的使用 条件、循环语句 try。Except异常处理 数据存储 控制访问频率 伪装装成浏览器 使用代理IP

    17、 selenium+Firefox(36版) 抓包应对动态网页 二、准备知识for语句用来循环,重复爬虫动作1、遍历网址,依次对网址发送请求2、解析网页时,返回的是列表或生成器的对象, 通过for遍历对象中的元素并对每个元素进行操作if条件判断语句用来解决爬虫过程中哪些要,哪些不要的问题 哪些执行,哪些不执行的问题try。Except异常处理。情景:你设计的程序在完美情况下当然不会出错,但现实是经常有意外出现,一遇到问题就程序就退出运行。解决办法:try except异常处理,增强你爬虫的健壮性,解决遇到问题程序停止数据存储初级的爬虫,大多都是为了获得文本数据,只需要用csv 、txt文件存储

    18、即可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,colum3)csvFile.close()数据存储f = open(/apple/usr/python/data.txt,a+, encoding=utf-8)f.write(sssss)f.close也可以使用:with open(/apple

    19、/usr/python/data.txt,a+, encoding=utf-8) as f: f.write(sssss)开始采集数据目录 一、引言三、网页请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫 爬虫工作原理 HTML Python基本知识 找规律构建url requests库 如何解析网页 BeautifulSoup re库的使用 条件、循环语句 try。Except异常处理 数据存储 控制访问频率 伪装装成浏览器 使用代理IP selenium+Firefox(36版) 抓包应对动态网页 二、准备知识如何应对反爬伪装成浏览器控制访问频率 使用代理IP目录 一、引言三、网页

    20、请求四、网页解析五、开始采集六、如何应对反爬七、高级爬虫 爬虫工作原理 HTML Python基本知识 找规律构建url requests库 如何解析网页 BeautifulSoup re库的使用 条件、循环语句 try。Except异常处理 数据存储 控制访问频率 伪装装成浏览器 使用代理IPselenium+Firefox(36版) 抓包应对动态网页 二、准备知识什么是动态网页selenium+Firefox(36版)Win/mac 火狐资源链接https:/ selenium import webdriverfrom bs4 import BeautifulSoup初始化浏览器drive

    21、r = webdriver.Firefox()打开某个网址driver.get(url)Selenium基本知识如果网站需要输入登录账号密码这里用到这里用到firepath找到目标位置的找到目标位置的xpath找到输入账号框,清除框内信息,再输入你的账号找到输入账号框,清除框内信息,再输入你的账号driver.find_element_by_xpath(xpath).clear()driver.find_element_by_xpath(xpath).send_keys(你的账号)找到输入密码框,清除框内信息,再输入你的密码driver.find_element_by_xpath(xpath)

    22、.clear()driver.find_element_by_xpath(xpath).send_keys(你的密码)Selenium基本知识定位“点击登录”框的位置的xpath,执行登录driver.find_element_by_xpath(xpath).click()访问你想爬的网页的网址driver.get(url)Selenium基本知识获取该网页的源码html = driver.page_sourceBeautifulSoup定位标签bsObj = BeautifulSoup(html,html.parser)再之后如何操作很简单,我就不写了啊,视频里有动态网页动态网页的特点是:动态网页的特点是:1、浏览器上面你看到的数据,找不到与之对应的html标签。 或者即使找到与之对应的标签,标签内部也没有数据2、网址规律很难发现爬动态网页的难点:爬动态网页的难点:难以构建网址抓包应对动态网页动态网页动态网页动态网页动态网页动态网页数据科学之路Thanks!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:python爬虫入门-邓旭东教育课件.ppt
    链接地址:https://www.163wenku.com/p-2656234.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库