需要安装re,requests,csv,lxml库,了解xpath和正则表达式的用法
关于re库的用法:
import re
#创建模式对象
pat = re.compile("AA") #AA是正则表达式,用来去验证其他的字符串
m = pat.search("ADAACAA") #利用search进行对比查找
#m = re.search("asd","Aasd") #前面的字符串是规则(模板),后面的字符串是校验的对象
print(m)
#print(re.findall("a","aaaaaaaa")) #前面的字符串是规则(模板),后面的字符串是校验的对象
# print(re.findall("[A-Z]","ADADdadfDA")) 字母一个一个输出
# print(re.findall("[A-Z]+","ADADdadfDA")) 字母以字符串输出
#sub
#print(re.sub("a","A","adsdwaft")) #找到a用A替换,在第三个字符串里查找a
#建议在正则表达式中被比较的字符串加上r,不用担心转义字符的问题
a=r"\aabd-\'"
print(a)
创建csv文件的方法:
import csv
fp = open("./1111.csv", 'w', newline='', encoding='utf-8')
writer = csv.writer(fp)
# 写入内容
writer.writerow('11111')
fp.close()
关于beautifulsoup的用法:
# Tag 标签机器内容 拿到它所找到的第一个内容
from bs4 import BeautifulSoup
import re
file = open("./baidu.html","rb")
html = file.read().decode("utf-8")
bs = BeautifulSoup(html,"html.parser")
#
#print(bs.head) #打印出标签
#
#print(bs.title.string) #打印出字符串 (标签里的内容)
#print(bs.a.attrs) #查看一个标签内的属性
# Comment 是一个特殊的NavigableString,输出的内容不包括注释符号
#文档的搜索
#字符串过-滤:会查找与字符串完全匹配的内容
# 1.find_all("")
#t_list = bs.find_all("a")
#正则表达式搜索:使用search()方法来匹配内容
#t_list = bs.find_all(re.compile("a"))
#方法: 传入一个函数,根据函数的要求搜索
#def name_is_exists(tag):
# return tag.has_attr("name")
#t_list = bs.find_all(name_is_exists)
#利用循环输出 ,格式更清楚
#for item in t_list :
#
#
# print(t_list)
#利用正则表达式寻找内容
#t_list = bs.find_all(text = re.compile("\d")) #应用正则表达式来查找包含特定文本的内容,例子是\d表示整数(标签里的字符串)
#for item in t_list :
# print(t_list)
# limit参数
# t_list = bs.find_all("a",limit=3) 用来限制搜索的行数
#
# for item in t_list :
# print(t_list)
#css选择器
#t_list = bs.select('head') #通过标签来查找
#for item in t_list :
# print(t_list)
#t_list = bs.select('.') .+类名来查找
# #+id 利用id来查找
# a[class="bri"] 来查找
#t_list = bs.select(".mnav ~ .brl")
#print(t_list[0].get_text())