当前位置: 移动技术网 > IT编程>脚本编程>Python > 简单记录下 刚学的爬虫

简单记录下 刚学的爬虫

2020年07月07日  | 移动技术网IT编程  | 我要评论
网课资源是 中国MOOC上 北京理工大学 嵩天老师上的 Python网络爬虫与信息提取下方为链接:网课地址requeststry:r = requests.get(url, timeout = 30 )r.raise_for_status()//如不是200 则返回异常r.encoding = r.apparent_encoding//将r的编码格式更改为 解析后建议的函数return r.text() //返回内容except:return "a exception"*.

网课资源是 中国MOOC上 北京理工大学 嵩天老师上的 Python网络爬虫与信息提取
下方为链接:网课地址

requests

try:
	r = requests.get(url, timeout = 30 )
	r.raise_for_status()//如不是200 则返回异常
	r.encoding = r.apparent_encoding//将r的编码格式更改为 解析后建议的函数
	return r.text() //返回内容
except:
	return "a exception"

**更改user-agent
kv = {'user-agent':'Mozilla/5.0}
#kv = {'user-agent': 'Mozilla/5.0 (Linux; Android 9; SM-G9650 Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/11.18 SP-engine/2.14.0 baiduboxapp/11.18.0.12 (Baidu; P1 9)'}
#上为模拟手机浏览器的useragent标识
url = "https://www.amazon.cn/gp/product/B01M8L5Z3Y"
r = requests.get(url, headers = kv)

**更改params参数
kv = {'wd':'Python}
r = requests.get("www.baidu.com", params = kv)
r.status_code
r.request.url

**save jpg
path = "R:/test1.jpg"
url = "http://.........jpg"
r = requests.get(url)
r.status_code
with open(path, 'wb') as f: //转换二进制
	f.write(r.content)//r.content为二进制格式,将其放到f中
f.close()

**search ip
import requests
url = "http://m.ip138.com/ip.asp?ip="
try:
	r = requests.get(url.'202.204.80.112')
	r.raise_for_status()
	r.encoding = r.apparent_encoding
	print(r.text[-500:]
except:
	print("lose search")

BeautifulSoup

.tag 获得标签
.name 获得标签的名字
.attrs 获得属性 返回字典
.string 获得字符串 如是注释 会去掉–!and 注释是特殊类型

tag //标签
name//名字
attributes //标签的属性
navigableString //标签之间的字符串
comment //注释的字符串

**迭代类型只可用于循环中
//下行遍历
.contents 返回子节点列表,将所有儿子节点存入表格
.children 子节点的迭代类型,用于循环遍历儿子节点
.descendants 子孙节点的迭代类型,包含所有子孙节点,用于循环遍历

//上行遍历
.parent 返回节点的父亲标签
.parents 返回节点先辈标签的迭代类型,用循环遍历先辈节点

//平行遍历
.next_sibling 返回按照html文本顺序的下一个平行节点标签
.previous_sibling 返回按照html文本顺序的上一个平行节点标签
.next_siblings 迭代类型,返回按照html文本顺序的后续所有平行节点标签
.previous_siblings 迭代类型,返回按照html文本顺序的前续所有平行节点标签

//在每个标签后加入换行符,使阅读界面更友好
soup.prettify()

迭代类型返回为数组形式 需加入[0]选取对应标签

**<>.find_all(name, attrs, recursive, string, **kwargs)
name //对标签名称的检索字符串
attrs //对标签属性值的检索字符串,可标注属性检索
recursive //是否对子孙全部检索 默认true
string <>…</>中字符串区域的检索字符串
**<tag?(…) == .find_all(…)
soup(…) == soup.find_all(…)
<>.find()
<>.find()_parents()
<>.find()_parent()
<>.find()_next_siblings()
<>.find()_next_sibling()
<>.find()_previous_siblings()
<>.find()_previous_sibling()
example:
soup.find_all(‘p’, ‘course’)
soup.find_all(id = ‘link1’)

Regular Expression

请添加图片描述
请添加图片描述请添加图片描述请添加图片描述

本文地址:https://blog.csdn.net/weixin_44376152/article/details/107145582

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网