阅读更多

0顶
0踩

编程语言

原创新闻 微信群分享:Python网络爬虫初探

2017-03-09 14:16 by 副主编 jihong10102006 评论(0) 有4524人浏览
Python语言是由Guido van Rossum大牛在1989年发明,它是当今世界最受欢迎的计算机编程语言之一,也是一门“学了有用、学了能用、学会能久用”的计算生态语言。

为此,CSDN作为国内最大的IT中文社区,特向广大Python爱好者开设了Python学习班,帮助大家在学习的道路上少走弯路,事半功倍。在昨天的女神节,我们继续邀请知名的CSDN博客专家杨秀璋老师,在班级里举行博客专家会客厅活动。
引用
杨秀璋:Web数据挖掘/软件工程。研究生阶段从事Web数据挖掘和知识图谱相关的研究,结合Python写了一些Selenium爬虫和数据挖掘的算法。从2013年开始在CSDN写博客,每个月都坚持分享些技术,已完成8个专栏。博客地址:http://blog.csdn.net/Eastmount

下面是杨老师在Python学习班的分享:

非常开心能够认识大家,和大家简单交流些Python相关的基础知识。群里面也有很多大神,我主要结合自己做过的东西,讲解一些Python知识,这节课主要是Python爬虫相关的知识,通过一些实际的简单应用,提升同学们学习Python的兴趣。
因为是微信授课,讲得不好的地方,还请大家海涵~

前面我讲过:学习Python最重要的地方是通过Python做一些自己喜欢的事情,来提升自己的兴趣,从而学好它,包括Python爬虫、数据分析、自动化测试、网站、GUI游戏等。

网络爬虫
网络爬虫(Web Spider),又被称为网页蜘蛛、网络机器人,它是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

网络爬虫根据Web数据挖掘的任务可以划分为三类:
  • Web结构挖掘,主要通过超链及HTML网页结构进行分析爬取;
  • Web内容挖掘,主要爬取网页内容及知识;
  • Web使用挖掘,主要爬取使用日志,包括按钮或链接点击的次数等。
常见的Python爬虫工具包括:正则表达式、XPath技术、Selenium、BeautifulSoup、Scrapy等。这节课讲课内容主要是Python安装Selenium并自动爬取相关信息。

Selenium
Selenium也是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。通常用于自动化测试,这里我们是用来作为简单的爬虫。

第一步:安装selenium
通过cd去到Scripts路径下,调用pip install selenium进行安装
注意:调用pip或easy_install安装第三方库函数,是常见的Python安装用法。

第二步:安装Firefox浏览器

第三步:简单访问百度页面
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
data = driver.title
print data


其中:webdriver.Firefox()是调用Firefox浏览器,这句话会自动弹出火狐浏览器
driver.get(url)是调用浏览器后访问某个url页面
driver中包含一些属性和方法,这里只是输出标题“百度一下,你就知道”

注意:Python导入包的常见语法就是 from xxxx import xxxx
例如:from sklearn.cluster import Kmeans
从机器学习sklearn包的聚类cluster中导入Kmeans聚类的方法
其中Kmeans在cluster中,当然还有其他聚类的方法
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
data = driver.title
print data
driver.save_screenshot('baidu.png')
 

添加一句代码,复制下载整个页面到本地。

Selenium常见元素定位方法和操作
注意driver下包括很多方法和属性,常见的包括:
这里有各种策略用于定位网页中的元素(locate elements),你可以选择最适合的方案,Selenium提供了一下方法来定义一个页面中的元素:
•find_element_by_id
•find_element_by_name
•find_element_by_xpath
•find_element_by_link_text
•find_element_by_partial_link_text
•find_element_by_tag_name
•find_element_by_class_name
•find_element_by_css_selector

下面是查找多个元素(这些方法将返回一个列表):
•find_elements_by_name
•find_elements_by_xpath
•find_elements_by_link_text 
•find_elements_by_partial_link_text
•find_elements_by_tag_name
•find_elements_by_class_name
•find_elements_by_css_selector

除了上面给出的公共方法,这里也有两个在页面对象定位器有用的私有方法。这两个私有方法是find_element和find_elements。

例如:


对应的文字:


from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
data = driver.title
print data
driver.save_screenshot('baidu.png') 

通过id定位元素
word = driver.find_element_by_id('u1')
print word.text

重点方法是分析网站DOM树结构:

这里需要注意,网页通常都是采用树形的形式进行存储的,比如:

我们需要学会右键审查元素,分析对应的界面:


这个比较基础的知识,给大家普及下

题目:
  • 1.学会pip方法安装各种库函数,Anaconda调用pip操作。
  • 2.学会Python调用Selenium方法简单爬取百度首页。
  • 3.学会Python调用Selenium定位元素,尝试写个需要翻页的爬虫。
  • 4.学会Python调用Selenium自动登录操作。
  • 5.(难) 如果实现防止403 Forbidden错误,ip地址转换,模拟登陆等操作。
同时,对讲课内容存在什么意见,也欢迎大家反馈给我,相互学习,相互提高。

希望这门课程对你们有所帮助,感觉讲得不是很好,希望给多知识来和我交流,谢谢~
感谢CSDN这个平台。

Python爬虫
  • urllib等包简单下载数据
  • Selenium爬虫=》自动化工具
  • Beautifulsoup爬虫
  • Dom树分析
  • 分布式爬虫,线程
Python数据分析
  • 常见Python数据分析包
  • Sklearn、numpy、scipy、Matplotlib
  • 数据挖掘基础知识
基本流程
  • Python网站设计
  • Odoo ERP框架
课堂花絮

欢迎希望学习Python语言,热爱交流技术的同学加入我们的CSDN Python学习班。入群请扫下方群二维码。

目前群已满,请扫描下面的小助手账号,申请入群
  • 大小: 240.8 KB
  • 大小: 94.6 KB
  • 大小: 11.2 KB
  • 大小: 50.9 KB
  • 大小: 10.9 KB
  • 大小: 53 KB
  • 大小: 94.4 KB
  • 大小: 135.7 KB
  • 大小: 120.1 KB
  • 大小: 163.1 KB
  • 大小: 289.3 KB
  • 大小: 133.5 KB
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • python网络爬虫系列教程_Python网络爬虫系列教程连载 ----长期更新中,敬请关注!...

    感谢大家长期对Python爱好者社区的支持,后期Python爱好者社区推出Python网络爬虫系列教程、欢迎大家关注。以下系列教程大纲,欢迎大家补充。视频长期连载更新中-------------------------------------2017年3月7日 ...

  • 如何科学地蹭热点:用python爬虫获取热门微博评论并进行情感分析

    前言:本文主要涉及知识点包括新浪微博爬虫、python对数据库的简单读写、简单的列表数据去重、简单的自然语言处理(snowNLP模块、机器学习)。适合有一定编程基础,并对python有所了解的盆友阅读。

  • 使用python 定时发送微信信息给喜欢的人

    原创 使用python 定时发送微信信息给喜欢的人 ...

  • 推荐一位资深 Python 大佬

    今天给大家推荐一位 Python 类的公众号「Python绿色通道」,作者:龙哥,龙哥有 10 年的编程学习经验,平时喜欢分享一些实用、有趣的 Python 原创项目实战,值得你的关注。...

  • Python--NBA数据分析初探(上)

    欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域...对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据...

  • Python--NBA数据分析初探(下)

    欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域...对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据...

  • 初探接口测试框架--python系列7

    点击标题下「蓝色微信名」可快速关注 坚持的...有更多兴趣的欢迎切磋,我们微信订阅号,联系方式如下: 更多书籍,敬请期待 背景说明 python系列课程也有段时间了,我们坚持,一步步来,今天是最后一课的分享,看看...

  • python画k线_python下画k线

    广告关闭腾讯云11.11云上盛惠 ,精选热门... 在无数次面对日志抓瞎以后,决心寻找一个好用的python k线工具,于是在知乎搜索 python k线,有很多不错的python k线案例:python如何绘制k线图? https:www.zhihu.comqu...

  • python抖音信息采集_初探抖音的数据采集,竟然简单到无脑!

    最近几天抖音有点火,火到新榜大号上周(3.20-3.25)7天发布了5篇...普通情况下,我们使用爬虫采集网络信息的时候是基于其网站的前端代码,也就是你在任意位置鼠标右键—查看网页源代码看到的那些。抖音的视频都在APP...

  • 谷歌原数据保护团队技术主管:零信任实践分享

    本次分享的内容全部基于以上谷歌已经公开的资料,并未泄漏谷歌公司机密或者违反任何保密协议。本文中的结论仅代表作者个人观点,并不一定是谷歌官方的观点。 什么是零信任 什么是零信任?不同的人很有可能会给出...

  • VM无法将网络更改为桥接状态:没有未桥接的主机网络适配器

    非原创 VM无法将网络更改为桥接状态:没有未桥接的主机网络适配器 ...

  • 最全Python学习路线图,21天学会Python!

    原创 最全Python学习路线图,21天学会Python! ...

  • 「干货」橙留香博客导读:专栏系统分类和博客归纳总结

    其实,我是欢迎白嫖的,但有条件,如下: 1、如果你能分享资料(脱敏、无版权纠纷),我愿意与你共建知识星球 2、如果你嫌麻烦,或者不愿意提供资料,那就积极参与群内讨论,分享自己的知识。即使,没有知识也不必...

  • 腾讯等公司python工程师面试题曝光!涨知识了

    原创 腾讯等公司python工程师面试题曝光!涨知识了 ...

  • 【推荐一位Python大佬】 从程序员到创业者,再到自由职业

    今天要推荐的公众号叫Python绿色通道是一位混迹职场近10年的老鸟.下面文字是他的简单口述.众所周知湖北黄冈在国内的教育还算不错,而我就是来自黄冈的,我的朋友们都叫...

  • 【只推荐一位Python大佬】 从程序员到创业者,再到自由职业

    今天给各位推荐一个公众号叫Python绿色通道,作者是一位混迹职场近10年的老鸟.下面文字是他的简单口述.众所周知湖北黄冈在国内的教育还算不错,而我就是来自黄冈的,我...

  • 基于springboot框架的毕业设计系统的开发(完整Java源码+数据库sql文件+项目文档+Java项目编程实战+编程练手好项目).zip

    在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对学生毕业设计信息管理的提升,也为了对学生毕业设计信息进行更好的维护,毕业设计系统的出现就变得水到渠成不可缺少。通过对毕业设计系统的开发,不仅仅可以学以致用,让学到的知识变成成果出现,也强化了知识记忆,扩大了知识储备,是提升自我的一种很好的方法。通过具体的开发,对整个软件开发的过程熟练掌握,不论是前期的设计,还是后续的编码测试,都有了很深刻的认知。 毕业设计系统通过MySQL数据库与Spring Boot框架进行开发,毕业设计系统能够实现教师管理,公告类型管理,班级管理,课题信息管理,任务类型管理,选题申请管理,学院管理,课题任务管理,最终成绩管理,公告信息管理,学生管理等功能。 通过毕业设计系统对相关信息的处理,让信息处理变的更加的系统,更加的规范,这是一个必然的结果。已经处理好的信息,不管是用来查找,还是分析,在效率上都会成倍的提高,让计算机变得更加符合生产需要,变成人们不可缺少的一种信息处理工具,实现了绿色办公,节省社会资源

  • hegaojian_WanAndroid_1742851819.zip

    hegaojian_WanAndroid_1742851819.zip

Global site tag (gtag.js) - Google Analytics