爬虫总结
由于访问网页的时候我们是使用python,直接访问会被许多网站拒绝,所以我们需要更改自己的头部数据,这里可以从浏览器获取自己的头部数据
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
尝试访问网站
url = 'https://www.douban.com'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}
req = urllib.request.Request(url=url, headers=headers)
response = urllib.request.urlopen(req)
print(response.read().decode('utf-8'))
正则表达式
本质上是字符串,用来判断字符串是否符合一定标准
第一种search函数
分为两种形式
#创建模式对象
pat = re.compile('AA')
m = pat.search('ABCAA') #search字符串被校验内容
m = pat.search('AABAA') #search方法进行比对,找到的是第一个
#没有模式对象
m = re.search('asd', 'Aasd') #前面的字符串是规则(模板),后面是被校验对象
print(m)
第二种findall函数
print(re.findall('a', 'AASDasdfwa')) #前面字符串是规则(正则表达式),后面字符串是被校验的字符串
print(re.findall('[A-Z]', 'ASDaxdaSDfzG'))
print(re.findall('[A-Z]+', 'ASDagGARgaGns'))
第三种sub函数
#sub
print(re.sub('a','A','abcdcasd')) #找到a用A替换,在第三个字符串中查找