无论咱们在做任何项目的时候,我们都该当先要有一个整体的设计图,比如建屋子须要建筑图,做家装的须要装修图,施工职员须要施工图。以是我们在做研发的时候也是一样的,首先我们要明确我们想要做的东西,做成什么样子,终极的结果在心里有一个预想。
Python+Selenium任务分解及代码实现python和selenium环境安装我这里就不给大家先容了,毕竟网上教程一大堆,自己动手搜索一下即可
一、明确我们想要爬取的内容
比如我们想要获取实时新闻,那么我们可以爬取一些热门新闻网站的内容,比如腾讯,今日头条等各大网站的推举内容。如果我们想要获取娱乐八卦内容,那么我们可以爬取新浪微博上面的一些娱乐内容。如果我们想要获取搞笑内容,那么我们可以爬取一些笑话网站的内容。当我们明确爬取目标之后,我们须要去剖析网页内容,剖析网页中每一篇文章异同点,只有找到了共通点,我们才可以持续不断的获取网站内容。比如我爬取的笑话天地的内容。打开你要爬取的内容页面,然后按下F12,鼠标左键点击下方图片中标注的图标,然后点击页面上内容。
3.比如我获取到了文章的标题,然后直接右键依次拿到这个标签的xPath即可。这个值我们后面便是我们爬虫须要定位到的元素值。就好比我们每一个人都有一个居住地址,你的朋友会根据这个地址找到我们的人。爬虫便是你的朋友。而XPath便是你想要内容的居住地址。然后依次找到我们想要的内容地址,把它们都保存起来。
二、内容保存的办法
当我们通过第一步找到我们想要的内容,那么我们须要将内容存放在哪里,以供我们后面利用呢?实在保存数据的办法有很多种,根据不同的数据类型可以选择不同的保存办法。比如常见的保存办法有以文本的形式保存,也可以用数据库来保存。
文本存储:便是将我们获取到的数据内容通过文本的办法保存到硬盘中,保存文本的Python代码如下。因此我们只须要在获取到内容的时候,写入到文本文件即可。#相称于打开了一个test.txt的文本文件,以write的办法f1 = open('/tmp/test.txt','w')#写入内容,蜜蜂攻城狮的英文,当然还可以选择编码格式,f1.write('mifenggongchengshi')
2.数据库存储:可以根据自己的获取到的数据类型选择不同的数据库,比如mongoDB,MySql,Oracle均可,由于我的做事器上安装了Mysql,并且我的数据比较单一,因此我选择了mysql来存储数据,详细代码如下
#首先在代码中导入import pymysql# 打开数据库连接,编码格式为UTF-8conn = pymysql.connect (host='你的IP', port=3306, user='用户名', passwd='密码', db='数据库名', charset='utf8') # 获取游标 cursor = conn.cursor ()#实行咱们的sql语句,在这里我们查询 cursor.execute ('select num from xiaohuatiandi')#然后获取一条数据即可 data = cursor.fetchone ()
三、博客登录
当我们得到数据后,我们须要登录到博客后台,自动登录系统基本都是差不多的,无非便是很多的网站加入了反爬校验。只须要根据特定的网站进行特定代码编写即可。下面是我的博客登录代码 # 仿照创建一个浏览器工具,然后通过工具去操作浏览器 browser1 = webdriver.Chrome (executable_path=driver_path) # 发送要求 browser1.get ('http://blog.zhaoyueyi.cn/wp-login.php?redirect_to=http%3A%2F%2Fblog.zhaoyueyi.cn%2Fwp-admin%2F&reauth=1') # 登录博客后台 time.sleep (5) #//[@id="user_login"]这个便是我们在第一节说到的xpath地址。 browser1.find_element_by_xpath ('//[@id="user_login"]').send_keys ('账户名') browser1.find_element_by_xpath ('//[@id="user_pass"]').send_keys ('密码')#然后仿照点击登录按钮 browser1.find_element_by_xpath ('//[@id="wp-submit"]').click ()
当然,在咱们登录的时候,有很多网站须要输入或者滑动校验码。而我常用的校验码是超级鹰,超级鹰用起来非常大略。这里我就不给大家展示了,不明白的可以下方留言。其余如果有验证码的咱们也可以做成半自动,即手动输入验证码。如果大家有兴趣,还可以利用cookie技能实现免上岸。cookie免上岸这个在网上也能找到,如果不明白的可以下方咨询,我会给大家供应技能辅导。
四、内容发布
当我们上岸到平台后,我们就可以将上面获取到的内容发布到平台上了,正如我上方视频演示的一样,只须要你按照教程中的办法,找到每一个标签的xpath即可,然后仿照咱们人的行为,让爬虫自己去完成这一系列操作咱们获取到的内容是别人创作的内容,因此,我们在选择发布的时候,我们须要尊重别人的劳动成果,加上原创者的信息,转载地址等等。还可以留下自己的联系办法,如果有侵权行为,作者可以及时的联系到你。五、设置定时任务
当我们完成了脚本的研发, 并且测试通过之后没有问题后,我们须要设置一个定时任务,让其自动运行,无须咱们操作。windows类型的任务创建的方法大家也可以参考下图,linux不同的系统可以查阅干系资料设置,我这边利用的是centos,因此我利用的是cron来实现的。
总结
按照这一个思路,实在你已经可以办理目前80%的内容爬取。实在爬虫难得不是数据的获取,而是数据的筛选以及整理。
把稳把稳把稳:在爬取之前,一定要查看被爬网站的robots文件,这个文件里面有解释那些内容可爬,那些不可爬。本文只做技能分享,请勿滥用。
以上内容均为今日头条原创首发,转载请注明来源,如有疑问可下方留言或私信我。
我是蜜蜂,我爱编程
2020年3月11日,By:蜜蜂攻城狮