一、在pycharm中引入包
1、从命令提示框安装
pycharm页面下方:terminal --> python --> pip+包名
2、从setting安装(常用)
File --> Settings --> Project:douban(项目名称是什么这里就是什么) --> Python Interpreter --> "+" --> Available Packages --> 搜索想要安装的包名 --> Install Package
二、爬取基础
爬取网页 --> 解析数据 --> 保存数据
爬取的基础模块轮廓如下:
def main():
baseurl = "https://movie.douban.com/top250?start="
# 1.爬取网页
datalist = getDate(baseurl)
#3.保存数据
savepath = ".//豆瓣电影Top250.xls"
saveDate(savepath)
#1.爬取网页
def getDate(baseurl):
datalist = []
#2.逐一解析网页
return datalist
#保存数据
def saveDate(savepath):
print("save...")
二、urllib补充拓展(待补充)
import urllib.request #获取一个get请求 # (将网页源码包装成一个对象返回到response中,打印该对象的内容,需要读取及解码) # 解码内容放在一个HTML文件中,以浏览器方式打开可以得到获取的网页页面 response = urllib.request.urlopen("http://www.baidu.com") print(response.read().decode('utf-8')) #对获取到的网页源码进行utf-8解码
三、BeautifulSoup
1、BeautifulSoup4将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种
from bs4 import BeautifulSoup
file = open("./baidu.html","rb") #打开文件或链接
html = file.read() #读取内容
bs = BeautifulSoup(html,"html.parser") #html解析
***BeautifulSoup不仅能解析HTML文件,还可以解析CSS等文件,第一个变量为需要解析的对象名,第二个变量为需要使用的解析器
(1)Tag
#1、Tag 标签极其内容:拿到它所找到的第一个内容
print(bs.title)
print("-"*30)
print(bs.a)
print("-"*30)
print(bs.head)
print("-"*30)
print(type(bs.head))
运行结果:
<title>百度一下,你就知道</title>
------------------------------
<a class="mnav" href="http://news.baidu.com"><!--新闻--></a>
------------------------------
<head>
<meta ;="" charset="utf-8" content="text/html" http-equiv="content-type"/>
<meta content="IE=Edge" http-equiv="X-UA-Compatible"/>
<meta content="always" name="referrer">
<link href="//ss1.bdstatic.com" rel="dns-prefetch"/>
<title>百度一下,你就知道</title>
</meta></head>
------------------------------
<class 'bs4.element.Tag'>
(2)N