路飞学城-Python爬虫实战密训-第1章
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了路飞学城-Python爬虫实战密训-第1章,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3821字,纯文字阅读大概需要6分钟。
内容图文
这是我第一篇博客
在前几天,参加了路飞学城的Python爬虫培训,结束了第一章节的课程,有些想法和心得在这里记录下来。
requests模块有常用的get,post,和put方法。
requests模块的requeset函数
requests.request()
- method:提交方式,post,get,delete, put, head, patch, options
- url: 提交地址
- params: 在url中传递参数,GET params = {k:v}
- data: 在请求体里传递参数用于post请求
- json: 在请求体里传递参数,并在请求头中设置content-type: application/json
- headers: 在请求头中添加数据
- cookies: 网站cookies 在请求头中
- auth : 认证使用 在 请求头中加入用户名密码
- timeout : 超时时间
- allow_redirects: 是否允许重定向 bool
- proxies: 代理
- stream: 流,bool 用于下载文件
ret = request.get(‘http://127.0.0.1:6666/me/‘, steam=True)
for i in ret.iter.content():
print(i)
- cert: 证书 指定https SSL证书文件
- verify = False https忽略证书存在
而BeautifulSoup模块自己总结了一点
1 from bs4 import BeautifulSoup 2from bs4.element import Tag 3 4 html_doc = """ 5<html><head><title>The Dormouse‘s story</title></head> 6<body> 7 <div class="title"> 8 <b>The Dormouse‘s story总共</b> 9 <h1>f</h1> 10 </div> 11 12</body> 13</html> 14""" 15 soup = BeautifulSoup(html_doc, "lxml") 16 title = soup.find(name="body") 17 Tag = Tag(name="a", attrs={"id": "cc"}) 18 Tag.string = "new" 19# 筛选标签 20# children 后代标签 21# print(list(title.children)) 22# [‘\n‘, <b>The Dormouse‘<a>test</a>s story总共</b>, ‘\n‘, <h1>f</h1>, ‘\n‘] 23 24# descendants 后代所有标签 print(list(title.descendants)) [‘\n‘, <b>The Dormouse‘<a>test</a>s story总共</b>, "The Dormouse‘", 25# <a>test</a>, ‘test‘, ‘s story总共‘, ‘\n‘, <h1>f</h1>, ‘f‘, ‘\n‘] 26 27# clear 删除所有标签,留下自己 28# decompose 删除所有标签,自己也不留 29# extract 删除所有标签,获取被删除的 30 31# decode 转换为字符串,含当前标签 32# print(title.decode) 33# encode_contents 转换为字符串,不含当前标签 34# print(title.decode.contents) 35 36# find 获取匹配的第一个标签 可加参数 recursive=True 是否递归找子孙 37# print(title) 38# find_all 获取匹配的所有标签,可加参数limit 取几个 name就是可以找到的 39# has_attr 检查是否有这个属性 40# v = title.has_attr("id") 41# print(v) 42# get_text 获取标签内部文本内容 43# v = title.get_text("h1") 44# print(v) 45# index 检查标签在某标签的索引位置 46# is_empty_element 是否为空标签或者是单标签 47# 获取当前的关联标签 48 49# 早上填坑 50# soup.next 51# soup.next_element 52# soup.next_elements 53# soup.next_sibling 54# soup.next_siblings 55# tag.previous 56# tag.previous_element 57# tag.previous_elements 58# tag.previous_sibling 59# tag.previous_siblings 60# tag.parent 61# tag.parents 62 63# 获取某标签的关联标签 64# tag.find_next(...) 65# tag.find_all_next(...) 66# tag.find_next_sibling(...) 67# tag.find_next_siblings(...) 68# tag.find_previous(...) 69# tag.find_all_previous(...) 70# tag.find_previous_sibling(...) 71# tag.find_previous_siblings(...) 72# tag.find_parent(...) 73# tag.find_parents(...) 74# 参数同find_all 75 76# select 77# title.String可以改内容,文本替换 78# title.stripped_strings #递归获取所有文本 79# v = title.stripped_strings 80# print(list(v)) 81 82# append 追加一个标签,相当于剪切 83print(title) 84print("-" * 10) 85title.append(Tag) 86print(title) 87print("-" * 10) 88# Tag = Tag(name="a",attrs={"id":"cc"}) 89# Tag.string="new" 90 91# insert在当前标签内部指定位置插入一个标签 92# from bs4.element import Tag 93# obj = Tag(name=‘i‘, attrs={‘id‘: ‘it‘}) 94# obj.string = ‘我是一个新来的‘ 95# tag = soup.find(‘body‘) 96# tag.insert(2, obj) 97# print(soup) 98 99# insert_after,insert_before 在当前标签后面或前面插入100# from bs4.element import Tag101# obj = Tag(name=‘i‘, attrs={‘id‘: ‘it‘})102# obj.string = ‘我是一个新来的‘103# tag = soup.find(‘body‘)104# # tag.insert_before(obj)105# tag.insert_after(obj)106# print(soup)
基于一开始学习的Requests和BeautifulSoup,在学习这门课程之前,已经了解过这两个模块,所以听起来并不费力,不过对于爬虫的这方面的思路还不是特别明确,不知道的先做什么后做什么。
不过好在现在明确了。
对于登录 我认为有个明确的步骤
find和find_all的区别是后者返回一个列表
根据需求选择get和post方法的使用,GET的参数是在HTTP 的头部传送的,而Post的数据则是在HTTP 请求的内容里传送
requests模块还有一些不可以忘记的
比如:method,url,params。data,json,headers,cookies,这些都已经记在脑中。
files,auth,timeout等是上传文件,认证和超时,以后会用得上。
原文:https://www.cnblogs.com/Ojia/p/9275162.html
内容总结
以上是互联网集市为您收集整理的路飞学城-Python爬虫实战密训-第1章全部内容,希望文章能够帮你解决路飞学城-Python爬虫实战密训-第1章所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。