一、环境搭建和工具准备
1、为了省去时间投入学习,推荐直接安装集成环境 Anaconda
2、IDE:Pycharm、Pydev
3、工具:Jupyter Notebook(安装完Anaconda会有的)
二、Python基础视频教程
1、疯狂的Python:快速入门精讲(Python2.x,可体验到与Python3.x的差异)
2、零基础入门学习Python
看完这些课程,自己对Python有一个感觉和掌握,可以继续看一些进阶教程
3、Python3大全(pasword:bf3e)
三、Python爬虫视频教程
1、Python网络爬虫实战
2、Python3爬虫三大案例实战分享
四、Python爬虫的相关连接
1、python爬虫的最佳实践
2、Python网络爬虫实战项目代码大全
3、零基础制作一个Python 爬虫
4、Python爬虫入门
5、Python3
7、抓取斗鱼tv的房间信息
如果你想学习Python可以来这个群,首先是四七二,中间是三零九,最后是二六一,里面有大量的学习资料可以下载。
五、正则表达式和BeautifulSoup、PhatomJS +Selenium的使用
1、Python爬虫小白入门
2、轻松自动化---selenium-webdriver(python)
3、 Python 正则表达式 re 模块简明笔记
4、【Python 笔记】selenium 简介
5、Selenium Webdriver定位页面元素的几种方式
6、 Python爬虫利器Selenium+PhantomJS系列入门
7、Python爬虫入门(7):正则表达式
六、自己爬取新浪新闻相关信息的实战
爬取页面
我直接把源码贴在这里了,是参考Python网络爬虫实战课程做下来的
新闻评论数抽取函数
import re
import json
import requests
#js抓取新闻评论信息
commentURL='http://comment5.news.sina.com.cn/page/info?version=1&format=js&\
channel=gn&newsid=comos-{}&\
group=&compress=0&ie=utf-8&oe=utf-8&page=1&page_size=20&jsvar=loader_1491395188566_53913700'
def getCommentCounts(newsurl):
#获取新闻id
m=re.search('doc-i(.+).shtml',newsurl)
newsid=m.group(1)
#根据新闻id获取评论信息
comments=requests.get(commentURL.format(newsid))
#将信息解析为json格式
jd=json.loads(comments.text.strip('var loader_1491395188566_53913 700='))
return jd['result']['count']['total']
新闻内文信息抽取函数
import requests
from datetime import datetime
from bs4 import BeautifulSoup
def getNewsDetail(newsurl):
result={}
res=requests.get(newsurl)
res.encoding='utf-8'
soup=BeautifulSoup(res.text,'html.parser')
result['title']=soup.select('#artibodyTitle')
timesource=soup.select('.time-source')[0].contents[0].strip()
result['dt']=datetime.strptime(timesource,'%Y年%m月%d日%H:%M')
result['source']=soup.select('.time-source span a')[0].text
result['article']=' '.join([p.text.strip() for p in soup.select('#artibody p')[:-1]])
result['editor']=soup.select('.article-editor')[0].text.lstrip('责任编辑:')
return result
七、感想
这些天学习下来,Python爬虫思路和套路很明确,主要是我们要对不同网站(反爬等)设计不同爬取路线和方法,但是还是要求自己总结方法和积累知识吧,还有一点自己也希望能把爬虫运用到实际生活或者应用中(如果单纯的抽取一个网页信息其实没多大意思),比如尝试应用到批量下载一个网站的图片或者文件等等,让爬虫为我们服务。