重拾爬虫day01

先是要引用的库的作用:
import urllib.request,urllib.error #制定url,获取网页数据
import _sqlite3 #进行sqlite数据库操作
from bs4 import BeautifulSoup #网页解析,获取数据
import re #正则表达式,进行文字匹配
import xlwt #进行excel操作
第一步就是获取网页

def askURL(url):
    head={
        "User-Agent": "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 89.04389.114 Safari/537.36"
    }
    request = urllib.request.Request(url,headers=head)
    html = ""
    try:
        response = urllib.request.urlopen(request)
        html = response.read().decode("utf-8")
        print(html)
    except urllib.error.URLError as e:
        if hasattr(e,"code"):
            print(e.code)
        if hasattr(e,"reason"):
            print(e.reason)

    return html

然后就是bs4获取网页内容的方法了
先是生成bs类型
一。遍历
bs = BeautifulSoup(html,“html.parser”)
1.可以用tag 标签查找
bs.head 只能拿到第一个内容
2.标签里的内容 (字符串)
bs.head.string 获取标签中的内容
bs.a.attrs 获取标签中的属性
comment
//获取到注释中的内容 不会加上注释
bs.head.contents 遍历标签中的所有内容
二。搜索
字符串过滤 完全匹配的内容
1.bs.find_all(“a”) 查所有的a标签
正则表达式搜索
2.bs.find_all(re.compile(“a”))
3.方法:传入一个函数 根据函数的要求经行搜索
def name_is_exits(tag):
return tag.has_attr(“name”)
bs.find_all(name_is_exits)
4.kwargs 参数
bs.find_all(id=“head”)
bs.find_all(class_=True)//有class的
5. text参数
bs.find_all(text = “hao1234”)
bs.find_all(text= [“hao1234”,“sss])
bs.find_all(text = re.compile(”\d"))//文本中有数字
6.limit
bs.find_all(“a”,limit=3)
7选择器 css
bs.select("#dd") id
bs.select(".sss") 类
bs.select(“head > title”) 子标签查找
list = bs.select(".mnav ~ . bri") 兄弟标签
list[0].get_text()获取内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值