Python 爬虫笔记
组成:
- 调度器:调度URL管理器、下载器、解析器之间的协调工作
- URL管理器:包括待爬取的URL地址和已爬取的URL地址,防止重复爬取
- 网页下载器:下载网页,网页下载器有urllib 包括需要 登录、代理、和cookie,requests(第三方包)
- 网页解析器:解析 DOM 树,通过 正则表达式、html.parser、beautifulsoup、lxml
- 应用程序:从网页中提取的有用数据组成的一个应用
urllib
urllib.request | 用来打开和读取URLs的; |
urllib.request.urlopen(url) | 可以打开一个网站,读取并打印信息。 |
urllib.error | 包含一些有urllib.request产生的错误,可以使用try进行捕捉处理; |
urllib.parse | 包含了一些解析URLs的方法; |
urllib.robotparser | 用来解析 robots.txt 提供了一个单独的RobotFileParser类,通过该类提供的can_fetch()方法测试爬虫是否可以下载一个页面。 |
.quote / .unquote(url)
url编码解码
request.Request
request.Request(url, data, headers, origin_req_host, unverifiable, method)
其返回作为 urlopen 的参数可进行请求
request.urlopen(url)
request.urlopen(url, data, [timeout, ], cafile, capath, sslContext)
.geturl() | 返回 一个 url 的字符串 |
.info() | 返回 meta 标记的元信息,包括一些服务器的信息; |
.getcode() | 获取状态码 |
下列方式亦可获得状态码: |
try:
myURL2 = urllib.request.urlopen("https://www.runoob.com/no.html")
except urllib.error.HTTPError as e:
if e.code == 404:
print(404) # 404
beautifulsoup
BeautifulSoup(html, ‘lxml’).prettify() | 返回格式化的解析结果 |
.tag | 返回第一个对应标签 |
.tag.string | 返回第一个对应标签的innerHTML |
.find_all((tag, attrs, hasChild, string, **kwargs)) | 查找结果返回一个列表 |
内容会不断更新,欢迎批评指正。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)