边学边模拟,来做个笔记总结一下,爬虫一般可分为三个步骤:
1. 访问url 获取数据
有的网页有反爬虫机制,在写脚本的时候可以添加上header 模拟用户操作浏览器
headers= {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'
}
response= requests.get(url_first,headers=headers)
2. 解析数据
用python的bs4模块里的BeautifulSoup
find有好的方法,可找单个find(),可找多个find_many(), 可找所以find_all()
find后面跟get_text()是获取匹配的标签的内容
mysoup= BeautifulSoup(html,'lxml')
content= mysoup.find('div',id='content').get_text()
find的标签是以字典格式存储的,获取它的属性,可以直接用key获取也可以用get获取
for a_tagin ahrefList:
newUrl= a_tag['href']# 这里把结果当做了字典,有两种方法
#newUrl = a_tag.get('href')
urlList.append(newUrl)
3. 处理存储数据
def save_data(content):
with open("xxxtxt",'w',encoding='utf-8') as f:
f.write(content)
f.close()
网友评论