网页由 HTML、CSS、JS 三部分组成。
HTML:整个网页的骨架
HTML中所有的标签定义的内容都是节点,形成一个 HTML DOM 树
CSS:装饰网页,为网页带来样式
CSS 使用选择器来定位
JavaScript:让网“页”动起来,以便交互和展示
爬虫就是自动化获取网页数据并提取数据进行保存的自动化程序,流程分为:
获取网页
使用 request 和 urllib 获取网页时代码和实际代码可能会有差别,这是因为现在大多网页采用js来进行一步步的渲染,不断请求服务器获取数据填充渲染进网页,原有获取的代码只是一个空壳框架
提取信息
保存数据
import requests
def get_data(url, page_start, page_limit):
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'
}# 告诉服务器请求访问的是客户端是什么
data = {
'type':'movice',
'tag': '经典',
'sort': 'recommend',
'page_limit': page_limit,
'page_start': page_start
}
response = requests.get(url, params=data, headers=headers)
json_data = response.json()
result = []
for item in json_data['subjects']:
print(item['title'])
def run():
url = 'https://movie.douban.com/j/search_subjects'
for i in range(5):
get_data(url, i * 20, 20)
结果
肖申克的救赎 https://movie.douban.com/subject/1292052/
霸王别姬 https://movie.douban.com/subject/1291546/
阿甘正传 https://movie.douban.com/subject/1292720/
千与千寻 https://movie.douban.com/subject/1291561/
这个杀手不太冷 https://movie.douban.com/subject/1295644/
泰坦尼克号 https://movie.douban.com/subject/1292722/
盗梦空间 https://movie.douban.com/subject/3541415/
疯狂动物城 https://movie.douban.com/subject/25662329/
美丽人生 https://movie.douban.com/subject/1292063/
忠犬八公的故事 https://movie.douban.com/subject/3011091/
三傻大闹宝莱坞 https://movie.douban.com/subject/3793023/
海上钢琴师 https://movie.douban.com/subject/1292001/
楚门的世界 https://movie.douban.com/subject/1292064/
星际穿越 https://movie.douban.com/subject/1889243/
摔跤吧!爸爸 https://movie.douban.com/subject/26387939/
辛德勒的名单 https://movie.douban.com/subject/1295124/
寻梦环游记 https://movie.douban.com/subject/20495023/
大话西游之大圣娶亲 https://movie.douban.com/subject/1292213/
怦然心动 https://movie.douban.com/subject/3319755/