毫无套路的爬虫,东半球最简单的python爬虫代码
代码如下:
import requests
import lxml
from bs4 import BeautifulSoup
"""
整体思路
1.伪装浏览器构造请求,获取网页内容即HTML源码
2.使用美味汤的强大功能获取图片链接
3.使用文件处理的基本操作将图片下载到本地
"""
count = 1 #用于记录图片个数
def getResponse(page): #获取指定URL网页内容
url = "https://www.qiushibaike.com/imgrank/page/{}/".format(page)
headers = {"Mozilla":"/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36"}
#模拟浏览器向服务器发送请求
response =requests.get(url,headers).text #获取网页HTML源码,需进行格式转换
return response
def getLink(page): #获取图片链接
response = getResponse(page)
soup = BeautifulSoup(response,'lxml') #创建美味汤对象
for div in soup.find_all('div',class_="thumb"):
for img_tag in div.find_all('img'):
# print(img_tag.get('src'))
# #可能由于糗事百科网站具有反爬机制,我们得到的图片链接并不是有效地址,需加上响应协议
img_url = "http:"+img_tag.get('src')
saveImg(img_url)
def saveImg(img_url):
global count
response = requests.get(img_url)
with open ("./搞笑图片/{}.jpg".format(count),'ab') as f: #要先创建文件夹才能将图片写入文件夹,我创建在当前目录下
f.write(response.content)
count+=1
if __name__ == "__main__":
for page in range(1,6): #我们先爬取前五页的图片,可根据不开心程度调整爬取页数!!!
getLink(page)
## 感觉写的还不错的小伙伴点个赞再走吧,
运行结果如下:
主页还有关于这篇文章的视频,感兴趣的小伙伴可以看一看