首先要安装好python的环境,然后cmd进入DOS界面
按住两个第三方包
1.求请网页的html数据
pip install reqeusts
Requests库的7个主要使用方法
requests.request()构造一个请求,支撑以下各方法的基础方法
requests.get()获取HTML网页的主要方法,对应HTTP的GET方法
requests.head()获取HTML网页头信息的方法,对应HTTP的HEAD
requests.post()向HTML网页提交POST请求的方法,对应HTTP的POST
requests.put()向HTML网页提交PUT请求的方法,对应HTTP的PUT
requests.patch()向HTML网页提交局部修改请求,对应于HTTP的PATCH
requests.delete()向HTML页面提交删除请求,对应HTTP的DELETE
2.这个将网页的内容规范呈现
pip install beautifulsoup4
引用
import requests from bs4 import BeautifulSoup
爬取的网站的源代码
如果有中文 r.encoding=r.apparent_encoding 标签一致( r.encoding=‘utf-8’ )
寻找底下的所有a链接
查找a标签下的 href 的属性
根据正则表达式进行模糊查询
find_all(name,attrs,recursive,string,**kwargs)
1.name:对标签名称的检索的字符串
soup.find_all('a') for tag in soup.find_all('a'):print(tag.name)
2.attrs:是对标签属性值检索的字符串,要求精准检索
soup.find_all('p','course') soup.find_all(id='link1')
模糊检索
soup.find_all(id=re.compile('lin'))
3.recursive:是否对子孙全部检索
soup.find_all('a',recursive=True)
默认为True,显示子标签,False不显示子标签
4.string:<>…</>中字符串区域的检索字符串
soup.find_all(string='Basic"')
结果显示Basic
遍历
上行 不用必须在循环里
soup.a.parents
下行
for p in soup.body.contents:print(p)遍历一层
必须用迭代 in 循环
.children .descendants 到叶子节点,全部都出来
平行遍历
寻找兄弟节点
previous_sibling.previous_sibling… 可以迭代 多个节点,通过 for语句展示加s 左节点
next_siblingnext_siblings 多个节点