最简单的爬虫入门

豆瓣电影TOP250

一、 爬虫相关工具

1. python3中自带的urllib

2. python3中鼎鼎大名的包requests

3. 正则表达式或xpath等数据匹配

4. 谷歌浏览器调试工具

二、 豆瓣电影分析

1. 获取网页源码

urllib版

import urllib
response = urllib.request.urlopen(url)
html = response.read()

requests版(需要单独安装requests包)

import requests
response = requests.get(url)
html = response.text

2. 网页源码分析

通过使用浏览器的F12功能


调试功能的左右对比
<a href="https://movie.douban.com/subject/1292052/" class="">
    <span class="title">肖申克的救赎</span>
    <span class="title">&nbsp;/&nbsp;The Shawshank Redemption</span>
    <span class="other">&nbsp;/&nbsp;月黑高飞(港)  /  刺激1995(台)</span>
</a>

可以从中发现所需信息:
a标签中属性href:链接
span标签中文本:电影名称

3. xpath的操作

a标签中属性href://ol/li//div[@class='hd']/a/@href
span标签中的文本://ol/li//div[@class='hd']/a/span[1]/text()这里需要注意span后面是否带有下标指向

4. 如何翻页

翻页导航

如法炮制,匹配后页的链接并通过urllib进行跳转
//a[text()='后页>']/@href
需要注意链接并不完整,加上协议、域名以及路径:https://movie.douban.com/top250

5. 如何判断结束

此时后页为灰色,无法跳转

匹配为空即是结束

6. 如何获取具体电影的详细内容

通过2中获取到的链接内容,进行链接的跳转,并对相关数据进行匹配处理

三、 稍微进阶的相关内容

1. header消息头

起到反爬虫等作用

2. 上传表单

post表单数据


微博登录时的表单

3. selenium与js的加载

例如豆瓣电影搜索中的window.__DATA__部分js加密,通过selenium可以节省很大的力气。但是selenium的速度过慢,使用时依据具体情况

4. 谷歌浏览器的抓包与断点调试

这点实在不知道怎么编

四、练手项目

皇室战争天梯比赛记录
英雄联盟游戏壁纸下载,农药的也行
全民K歌歌曲下载

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容