Python(KK 英语发音:/ˈpaɪθən/)是一种面向对象、直译式计算机程序设计语言。也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。 Python语法简捷而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。
首先学习爬虫之前,python的基本语法要掌握,推荐廖雪峰老师的博客(https://www.liaoxuefeng.com/)
python分两个版本,一个是2.x的,一个是3.x的。3.x有些不兼容2.x的结构,所以百度的教程基本都是2.x的,所以我学的也是2.x的爬虫。。
其实我学的不是特别的深入,只是了解它的基本结构和用法。然后就屁颠屁颠的去开始弄爬虫,然后搞了半个多星期才明白,爬虫是啥样子的。。然后发现网上的许多爬虫例子都基本上gg了,因为很多网页都用上了js动态结构(具体是啥,百度吧)
首先是安装python,我安装的是python2.7版本。然后下载工具PyCharm。然后打开我们的命令框,安装好所需的库request,Beautiful Soup
request库:
利用 pip 安装
pip install requests
或者利用 easy_install
easy_install requests
Beautiful Soup库
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。
利用 pip 安装
pip install beautifulsoup4
或者利用 easy_install
easy_install beautifulsoup4
这样子准备工作就完成了.接下来可以开始学习爬虫了(不足的地方,请大佬指点)
既然是入门就先爬一些糗事段子好了。。。。
这是爬的是糗事百科(https://www.qiushibaike.com/textnew/)
首先是导入所需要的东西
# -*-coding:utf8-*-
# Encode
import sys
from bs4 import BeautifulSoup
import requests
import re
reload(sys)
sys.setdefaultencoding( "utf-8" )
设置Header(这里用chrome)
有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性。
header = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}
接下来是请求,并获取标签
#要爬虫的url
web_url = 'https://www.qiushibaike.com/textnew/'
#请求地址
r = requests.get(web_url, headers=header)
#返回标签是a,并且class是contentHerf
all_a = BeautifulSoup(r.text, 'lxml').find_all('a',class_='contentHerf')
最后是循环输出并存入文件中
#下面是显示段子和存入文件
fo = open("tb.txt", "wb")
for a in all_a:
if a.find('span').string!=None:
print a.find('span').string
print '________________________________________________________________________________________________'
fo.write(a.find('span').string+'\n\n')
else:
continue
fo.close()
结果:
献上完整的代码:
# -*-coding:utf8-*-
# Encode
import sys
from bs4 import BeautifulSoup
import requests
import re
reload(sys)
sys.setdefaultencoding( "utf-8" )
#设置请求头
header = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}
#要爬虫的url
web_url = 'https://www.qiushibaike.com/textnew/'
#请求地址
r = requests.get(web_url, headers=header)
#返回标签是a,并且class是contentHerf
all_a = BeautifulSoup(r.text, 'lxml').find_all('a',class_='contentHerf')
#下面是显示段子和存入文件
fo = open("tb.txt", "wb")
for a in all_a:
if a.find('span').string!=None:
print a.find('span').string
print '________________________________________________________________________________________________'
fo.write(a.find('span').string+'\n\n')
else:
continue
fo.close()
总结:一开始我觉得爬虫应该是挺复杂的,然后静下心来看,发现自己也能慢慢的学会,然后爬到第一个网站的内容,感觉还挺有趣的。开始的爬网页的文字,然后发现爬图片比较有趣点,然后又慢慢的学会了怎么爬图片。。总的来说爬虫还挺好玩的。。