为了账号安全,请及时绑定邮箱和手机立即绑定

Python开发简单爬虫

蚂蚁帅帅 全栈工程师
难度初级
时长 1小时14分
学习人数
综合评分9.67
646人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • spider_main (爬虫总调度程序) url_manager(url管理器) html_downloader(下载器) html_parser(html解析器) html_outputer(将数据处理好的数据写出到 html 的页面)
    查看全部
    0 采集 收起 来源:调度程序

    2017-07-21

  • print '获取lacie的链接' link_node = soup.find('a', href='http://example.com/lacie') print link_node.name, link_node['href'], link_node.get_text() print '正则匹配' link_node = soup.find('a',href=re.compile(r"ill")) print link_node.name,link_node['href'],link_node.get_text() print '获取P段落文字' p_node = soup.find('p', class_="title") print p_node.name, p_node.get_text()
    查看全部
  • BeautifulSoup语法: 根据一个HTML网页字符串创建BeautifulSoup对象,创建的同时就将整个文档字符串下载成一个DOM树,后根据这个DOM树搜索节点。find_all方法搜索出所有满足的节点,find方法只会搜索出第一个满足的节点,两方法参数一致。搜索出节点后就可以访问节点的名称、属性、文字。因此在搜索时也可以按照以上三项搜索。 from bs4 import BeautifulSoup soup = BeautifulSoup( html_doc #HTML 文档字符串 'html.parser' #HTML解析器 from_encoding #HTML文档的编码方式 ) 方法: find_all(name,attrs,string)(节点名称,节点属性,节点的文字) node.name #获取查找到的节点的标签名称 node.['href'] #获得查找到的节点的 href 属性 node.get_text() #获得查找到的节点的链接文字
    查看全部
  • BeautifulSoup语法: 根据一个HTML网页字符串创建BeautifulSoup对象,创建的同时就将整个文档字符串下载成一个DOM树,后根据这个DOM树搜索节点。find_all方法搜索出所有满足的节点,find方法只会搜索出第一个满足的节点,两方法参数一致。搜索出节点后就可以访问节点的名称、属性、文字。因此在搜索时也可以按照以上三项搜索。
    查看全部
  • Beautiful Soup 是 Python 的第三方库,用于从 HTML 或 XML 中提取数据
    查看全部
  • from baike_spider import url_manager, html_downloader, html_parser,\ html_outputer class SpiderMain(): def __init__(self): self.urls=url_manager.UrlManager() self.downloader=html_downloader.HtmlDownloader() self.parser=html_parser.HtmlParser() self.outputer=html_outputer.HtmlOutputer() def craw(self,root_url): count=1 self.urls.add_new_url(root_url) while self.urls.has_new_url():#如果有待爬去的url new_url=self.urls.get_new_url()#取出一个 print 'craw %d:%s' %(count,new_url) html_cont=self.downloader.download(new_url) new_urls,new_data=self.parser.parse(new_url,html_cont) self.urls.add_new_urls(new_urls) self.outputer.collect_data(new_data) count=count+1 if count=1000 break self.outputer.output_html() if _name_=="__main__": root_url = "http://baike.baidu.com/view/21087.htm" obj_spider=SpiderMain() obj_spider.craw(root_url)
    查看全部
    1 采集 收起 来源:调度程序

    2018-03-22

  • 开发爬虫实例: 一、步骤 1、确定目标:确定抓取哪个网站的哪些网页的哪部分数据。本实例确定抓取百度百科python词条页面以及它相关的词条页面的标题和简介。 2、分析目标:确定抓取数据的策略。一是分析要抓取的目标页面的URL格式,用来限定要抓取的页面的范围;二是分析要抓取的数据的格式,在本实例中就是要分析每一个词条页面中标题和简介所在的标签的格式;三是分析页面的编码,在网页解析器中指定网页编码,才能正确解析。 3、编写代码:在解析器中会使用到分析目标步骤所得到的抓取策略的结果。 4、执行爬虫
    查看全部
  • URL
    查看全部
  • 代码2
    查看全部
  • 代码1
    查看全部
  • BeautifulSoup语法: 根据一个HTML网页字符串创建BeautifulSoup对象,创建的同时就将整个文档字符串下载成一个DOM树,后根据这个DOM树搜索节点。find_all方法搜索出所有满足的节点,find方法只会搜索出第一个满足的节点,两方法参数一致。搜索出节点后就可以访问节点的名称、属性、文字。因此在搜索时也可以按照以上三项搜索。 from bs4 import BeautifulSoup #根据HTML网页字符串创建BeautifulSoup对象 soup = BeautifulSoup( html_doc, #HTML文档字符串 ‘html.parser’ #HTML解析器 from_encoding=‘utf8’#HTML文档的编码 ) 搜索节点: find_all(name,attrs,string)#方法 soup.find_all(‘a’)#查找所有标签为a的节点 #查找所有标签为a,链接符合/view/123.htm形式的节点 soup.find_all(‘a’,href=‘/view/123.htm’) soup.find_all(‘a’,href=re.compile(r‘/view/\d+\.htm’)) #查找所有标签为div,class为‘abc’,文字为Python的节点 soup.find_all(‘div’,class_=‘abc’,string=‘Python’) #_是因为dom中有class 访问节点信息 #得到节点:<a href=‘1.html’>Python</a> #获取查找到的节点的标签名称 node.name #获取查找的a节点的href属性 node['href'] #获取查找到的a节点的链接文字 node.get_text()
    查看全部
  • 网页解析器:从网页中提取有价值数据的工具 网页解析器以Html网页字符串为输入提取出价值数据和新URL列表 Python网页解析器: 1.正则表达式 2.html.parser 3.BeautifulSoup(可使用html.parser和lxml作为解析器,较强大) 4.lxml 正则表达式采取模糊匹配 后三者采取结构化解析 结构化解析-将整个网页文档下载成一个DOM树,以树的方式进行遍历和访问。将整个网页文档当成一个Document对象,其下是根节点<html>,根节点下有元素<head>和元素<body>。<head>元素下有<title>元素,每个元素如果没有子元素就会对应到它的文本(如title对应文本的标题)。元素<body>下包含元素<a>和元素<div>,元素<a>下是文本的链接,元素<div>包含子元素或文本段落。如果每个元素有自身属性也会包含其属性如<href>。 通过树可以定位到元素,访问其属性和自身文本
    查看全部
  • import urllib2, cookielib url = 'http://www.baidu.com' print '111111111111111' re1=urllib2.urlopen(url) print re1.getcode() cont = re1.read() #print cont print len(re1.read()) print '22222222222222222' request = urllib2.Request(url) request.add_header('User-Agent', 'Mozilla/5.0') re2=urllib2.urlopen(url) print re2.getcode() cont2 = re2.read() #print cont2 print len(re2.read()) print '333333333333333333' cj=cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) urllib2.install_opener(opener) re3=urllib2.urlopen(url) print re3.getcode() cont3 = re3.read() #print cont3 print cj print len(re3.read())
    查看全部
  • url管理器
    查看全部
  • 调度器相当于是一个命令发布枢纽和中转站,由它来指挥三大模块(URL管理器、下载器、解析器)工作,并最终将价值数据输送给应用端
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Python语言开发的高级课程 1、Python编程语法; 2、HTML语言基础知识; 3、正则表达式基础知识;
老师告诉你能学到什么?
1、爬虫技术的含义和存在价值 2、爬虫技术架构 3、组成爬虫的关键模块:URL管理器、HTML下载器和HTML解析器 4、实战抓取百度百科1000个词条页面数据的抓取策略设定、实战代码编写、爬虫实例运行 5、一套极简的可扩展爬虫代码,修改本代码,你就能抓取任何互联网网页!

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!