如果你一点都没接触过Python,那你往下看,如果不是,请按ctrl+w关闭网页。
一、下载和安装
1.下载python,设置环境变量
2.安装轻量级开发工具Thonny
二、HelloWorld
3.第一个程序HelloWorld。
#!/usr/bin/python
print ("hello world")
三、简单语法了解,具体可搜索Python教程,往上一大堆。
4.中文编码
#coding=utf-8
5.标识符
字母数字下划线,不能数字开头
标识符区分大小写
一行内多条语句用;隔开
6.行缩进控制模块,不用{}
7.字符串
使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串
三引号可以由多行组成
8.注释
采用 # 开头
9.变量
变量无需声明,直接使用,采用=赋值
10.函数
def 函数名(参数列表):
函数体
四、爬虫(1)-发送请求
11.Requests库
可以实现跟浏览器一样发送各种HTTP请求来获取网站的数据。
打开Thonny,Tools-open system shell
输入:python -m pip install requests
12.利用requests请求网站,获取网页数据
#!/usr/bin/python3
import requests
res = requests.get('https://www.csdn.net/')
res.encoding = 'utf-8'
print(res.text)
很多内容是动态加载的。所以建议动态加载的内容使用PhantomJS而不是Request库进行请求
爬虫(2)-解析html
13.使用BeautifulSoup模块来从HTML文本中提取我们想要的数据。
pip install beautifulsoup4
python -m pip install beautifulsoup4
五、爬虫实例,获取csdn博客标题
【爬虫代码】:爬取CSDN博客标题。
import requests #导入requests 模块
from bs4 import BeautifulSoup #导入BeautifulSoup 模块
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36'} #给请求指定一个请求头来模拟chrome浏览器
web_url = 'https://www.csdn.net/'
r = requests.get(web_url, headers=headers) #像目标url地址发送get请求,返回一个response对象
all_li = BeautifulSoup(r.text, 'lxml').find_all('li',class_="clearfix") #获取网页中的class为clearfix的所有内容
for li in all_li:
a=li.find("a")
print(a.get_text()) #循环获取a标签中的内容
成果:
碰到的问题:
1.bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?
bs4调用了python自带的html解析器,默认安装的是python2,开发环境也是python3的,在python3也装一个html解析器就好了
pip3 install lxml
不知道这算不算是入门了,我觉得以HelloWorld作为入门标准来讲,这个应该算是真正的入门了。当然这个只是入门级的爬虫,只能获取到一页的数据。网页是动态加载的,要用到PhantomJS + Selenium ,这里就不讨论了,因为我也不懂。
欢迎评论交流!