python爬虫实例项目大全,python爬虫入门教程(非常详细)
注:此爬虫仅针对入门级实战,爬行对象为彼岸地图网,爬行地图分辨率约为1202676。此爬网使用请求BeautifulSoup1。抓取结果(不多说,上图)
就以上两张图,更多就不一一放了。代码只抓取4页图片,好友可以抓取更多内容。
第一页上的所有详细页面图片如下
2.看看网站的另一面:http://pic.netbian.com/.
你可以看到,下面的图片有很多页,我们将在后面实现多页抓取功能。
不同页面的请求链接分析
另外,由于当前页面中图片的分辨率没有其详情页(即图片被点击的页面)的分辨率高,
所以我们最好在详情页获取图片。话不多说,不如直接去做代码分析吧?
3.完整的代码和注释分析代码如下:
导入请求
从bs4导入BeautifulSoup
导入操作系统
#请求标题信息
标题={
用户代理: Mozilla/5.0(Macintosh;英特尔Mac OS X 10 _ 13 _ 6)apple WebKit/537.36(KHTML,像壁虎)Chrome/85 . 0 . 4183 . 102 Safari/537.36
}
#找到并保存图片
定义下载(路径,数据):
#参考图片辅助分析3354图1,然后我就直接参考图了。朋友们注意了。
ul=data.find(class_=slist )。查找全部(李)
#遍历li标签
对于ul中的李:
#用BeautifulSoup解析
li_data=BeautifulSoup(str(li), html.parser )
#参考图2。
#详情页url,注意获取的url不是完整路径,我们要拼接前面的域名。
page _ URL= http://pic . net bian . com/ Li _ data . find( a )[ href ]
#图片名称
title=Li _ data . find( img )[ alt ]
#向详细信息页面提出请求
page _ data=requests . get(URL=page _ URL,headers=headers)
#解析
response _ data=beautiful soup(page _ data . text, html.parser )
#获取详情页图片的url,参考图3,注意拼接域名。
img _ URL= http://pic . net bian . com response _ data . find(class _= photo-pic )。find(img)[src]
#请求图片的URL。注意:内容使用二进制数据。如果你不使用它,你会得到一个错误。
img _ RES=requests . get(URL=img _ URL,headers=headers)。内容
#保存图片
打开(路径“/”标题)。jpg , wb )作为f:
打印(“保存:”标题)
f.write(img_res)
#开始
if __name__==__main__ :
#定义保存文件夹路径
路径=。/图片
#如果它不存在
如果不是os.path.exists(path):
#创建此文件夹
os.mkdir(路径)
#多页抓取,这里是4页抓取。
对于范围(1,5)内的I:
#在这里,我们再稍微详细一点,然后区分图片的不同页面。
data_path=path / str(i)
如果不是os.path.exists(数据路径):
os.mkdir(数据路径)
#第一页是特殊的,我们作出如果判断。
如果i==1:
URL= http://pic . net bian . com/index . html
否则:
#直接拼接其他页面即可。注意我应该是str类型。
URL= http://pic . net bian . com/index _ str(I)。 html
#发起请求
response=requests.get(url=url,headers=headers)
#注意设置代码,不然就是一堆乱码。
response.encoding=gbk
#用BeautifulSoup解析
data=beautiful soup(response . text, html.parser )
#传递保存的路径和请求下载的数据
下载(数据路径,数据)4。图像辅助分析图1
图2
图3
5.操作结果:
转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。