作者 VictorChan
本文转自知乎 , 转载需授权
大家好 , 我是Victor 278 , 由于本人是做前端的 , Python学来作知识扩充的 , 看到非常多的小伙伴高呼着想从0开始学爬虫 , 这里开始写定向爬虫从0开始 , 献给想学爬虫的零基础新人们 , 欢迎各位大佬们的指点 。
本文适用人群
1、零基础的新人;
2、Python刚刚懂基础语法的新人;
输入标题学习定向爬虫前需要的基础
1、Python语法基础;
2、请阅读或者收藏以下几个网站:
1)Requests库
http://cn.python-requests.org/zh_CN/latest/
2)BeautifulSoup4库
https://www.crummy.com/software/BeautifulSoup/bs4/doc/
没有Python基础的新人 , 我建议可以学习以下资料:
1、较新的英文文档(https://docs.python.org/3/)
2、python 3.60版本中文文档(http://www.pythondoc.com/pythontutorial3/index.html)
展开全文
3、廖雪峰Python教程(https://www.liaoxuefeng.com/)
备注:书籍也有很多选择 , 但是其实入门教程讲来讲去都是那些冬西 , 不做细究 , 你随意挑一本完完整整的学习好比你浪费时间选择教材要强多了 。
正文开始
我假设你已经符合上述的标准 , 现在我们就来开始排名个爬虫的网站 , 我们首先挑选一个下手;
附上URL:中国天气网(http://www.weather.com.cn/weather1d/101280101.shtml#dingzhi_first)
排名步:
请确保你已经安装了Requests和Beautifulsoup4的库 , 否则你可以打开CMD(命令提示符)然后输入
pip3 install requestspip3 install Beautifulsoup4pip3 install lxml
安装完毕后接着打开你的编辑器 , 这里对编辑器不做纠结 , 用的顺手就好 。
首先我们做爬虫 , 拿到手排名个步骤都是要先获取到网站的当前页的所有内容 , 即HTML标签 。所以我们先要写一个获取到网页HTML标签的方法 。
整个爬虫的的代码搭建我都采用的是将不同的功能做成不同的函数 , 在较后需要调用的时候进行传参调用就好了 。
那么问题来了 , 为什么要这么做呢?
写代码作为萌新要思考几件事:
1、这个代码的复用性;
2、这个代码的语义化以及功能解耦;
3、是否美观简洁 , 让别人看你的代码能很清楚的理解你的逻辑;
代码展示:
'''
抓取每天的天气数据
python 3.6.2
url:http://www.weather.com.cn/weather1d/101280101.shtml#dingzhi_first
'''
importrequests
importbs4
defget_html(url):
'''
封装请求
'''
headers = {
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36',
'ContentType':
'text/html; charset=utf-8',
'Accept-Encoding':
'gzip, deflate, sdch',
'Accept-Language':
'zh-CN,zh;q=0.8',
'Connection':
'keep-alive',
}
try:
htmlcontet = requests.get(url, headers=headers, timeout= 30)
htmlcontet.raise_for_status()
htmlcontet.encoding = 'utf-8'
returnhtmlcontet.text
except:
return" 请求失败 "
上述代码几个地方我特别说明一下:
'''
抓取每天的天气数据
python 3.6.2
url:http://www.weather.com.cn/weather1d/101280101.shtml#dingzhi_first
'''
importrequests
importbs4
养成好习惯代码一开始的注释表明这是一个什么功能的Python文件 , 使用的版本是什么 , URL地址是什么 , 帮助你下次打开的时候能快速理解这个文件的用途 。
- 有哪些与刘义恭相关的轶事典故?后世是如何评价他的?
- 刘宋代晋是怎么回事
- 如何预防***炎 如何预防妇科炎症的发生
- 盘点南北朝历史,北周是如何灭齐的?
- 南北朝时期,皇帝与士族"共天下"的局面如何一去不复返?
- 始州之战是如何爆发的?此战为北周最后消灭王谦势力奠定了基础
- 如何申请400电话 如何申请400电话多少钱安装400电话
- 在太子之争中,李建成是怎么削弱李世民的势力?
- 武士彟是谁?他的真实能力如何?
- 处女座生气了怎么哄 处女座生气应该怎么哄
