慕容昊天

导航

Python爬虫初学者学习笔记(带注释)

一,安装编程工具并进入编程界面

首先去https://www.continuum.io/downloads/网站下载Anaconda工具并安装;打开cmd,输入jupyter notebook并回车(win7),他会自动帮你打开编辑界面(基于浏览器的);点击new按钮新建一个Python3的编辑框,他会弹出一个新窗口,好了现在可以敲代码了。

二,爬取整个页面

  1. import requests          #导入requests模块
  2. res = requests.get('http://study.163.com/')        #调用模块中的get方法,以网易云课堂为例
  3. print(res.text)         #打印整个页面内容

三,爬取指定标签的文本

  1. from bs4 import BeautifulSoup         #导入BeautifulSoup模块
  2. html_sample = '<!DOCTYPE html><html><head><meta charset="utf-8">\
  3. <title>文档标题</title></head><body><a id="a1" class="c" href="#">测试数据1</a>\
  4. <a id="a2" class="c" href="##">测试数据2</a>\
  5. </body></html>'        #html_sample变量模拟你读取的整个页面内容,“\”符号在编辑框换行时链接字符串
  6. soup = BeautifulSoup(html_sample,'html.parser')        #爬取页面的所有文本
  7. a=soup.select('a')      #筛选出所有的a标签和对应内容,返回的是个数组
  8. b=soup.select('#a1')      #筛选id为a1的标签和对应内容
  9. c=soup.select('.c')      #筛选class为c的标签和对应内容,返回的是个数组
  10. print(a)         #打印a标签文本,带标签
  11. print(a[0])         #打印第一条a标签文本,带标签
  12. print(a[0].text)         #打印第一条a标签文本,不带标签
  13. for aa in a:
  14.     print(aa.text)        #逐条打印a中的文本,不带标签
  15.     print(aa['href'])       #逐条打印a中的链接

四,常见的一些代码

a=soup.select('a')
l=len(a)         #数组a的长度
aa=a[0].contents         #第一个a标签的内容
aa.strip()        #去掉收尾空格
type(a)       #a的数据类型
dt =datetime.strptime(timestr,'%Y年%m月%d日%H:%M')        #字符串转时间
dt.strftime('%Y-%m-%d')        #时间转字符串
soup.select('#div p')[:-1]         #选取id为div标签下除了最后一项P元素的所有P元素
article = []       #定义一个list
article.append(a[0].text)       #给list追加元素
'@'.join(article)        #将article中元素用‘@’符号隔开并转换为字符串
[p.text.strip() for p in soup.select('#artibody p')]        #返回一个list,内容为p.text
newsurl.split('/')        #字符串分割
newsurl.rstrip('.html')         #去掉字符串末尾指定字符
newsurl.lstrip('aaa')         #去掉字符串首指定字符
re.search('aaa(.+).html')         #截取字符串,需引入re
jd = json.loads(comments.text.strip('var data='))       #读取json,需要引入json
commentURL .format('gda')         #将commentURL中的‘{}’替换为'gda'
def getNewsDetial(newsurl)         #定义一个函数,参数为newsurl

建议先到网络上找一些视频教程学习一些python语言基础,治标不治本没用的。。。

posted on 2017-05-23 21:44  慕容昊天  阅读(473)  评论(0编辑  收藏  举报