request进阶第一步
1、爬取网页所有内容
import urllib.request
file=urllib.request.urlopen('http://www.baidu.com')
data=file.read() #读取全部
dataline=file.readline() #读取一行内容
print(data)
添加请求头
java
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'}#在get请求内,添加user-agentresponse = requests.get(url='https://www.zhihu.com/explore', headers=headers)
2、创建文件并写入文字内容
创建文件夹:
os.makedirs("test.txt")
删除文件:
os.remove("1.html")
移除目录
os.removedirs("/test")
展示当前路径
os.getcwd()
展示当前文件所有文件
os.listdir()
删除当前目录所有文件
import shutil
shutil.rmtree('./')
创建文件并写入内容:
file = open("xx.txt","w")
text="Hello, world"
file.write(text)
file.close()
open函数参数中的w和wb的区别在于,wb是以二进制的方式写入
读取文件内容:
file = open("test.txt","r")
txt = file.read()
print(txt)
3、正则表达
search
查询到当前单词所匹配到的是第几个序列
import re
str = "you are the winner!"
c = re.search("are",str)
print(c)
匹配.的时候需要加
.在匹配时相当于癞子
\d代表任何数字
c = re.search("\.",str)
str = "192.168.111.255"
c = re.search("\d\d\d\.\d\d\d\.",str)
print(c)
findall
str = "adlkjlkasjdk<h1>123456</h1>dadasdsdsafsd<h1>12300000</h1>"
c = re.findall(r'<h1 *?>(.*?)</h1>', str)
findall:
s[a-z]代表匹配两个字符,第一个字母一定是s后面跟另一个字母
匹配里面所有img标签中src的属性
import rehtml='dasdas <img src="Hello.jpg">adasdassdasdasd<img src="Hello123.jpg">'
par =r'<img src="[^"]+\.jpg">'
html=re.findall(par,html)
print(html)