安装
Mac:
Windows:
实例
代码撸多了,让我们看会妹纸,爬的网站我选的是 http://www.win4000.com/zt/xinggan.html ,打开网站,观察到这是个列表,图片是缩略图,要想保存图片到本地,当然需要高清大图,因此得进入列表详情,进一步解析,完整代码如下:
fromrequests_htmlimportHTMLSession
importrequests
importtime
session=HTMLSession()
# 解析图片列表
defget_girl_list():
# 返回一个 response 对象
response=session.get('http://www.win4000.com/zt/xinggan.html')# 单位秒数
content=response.html.find('div.Left_bar',first=True)
li_list=content.find('li')
forliinli_list:
url=li.find('a',first=True).attrs['href']
get_girl_detail(url)
# 解析图片详细
defget_girl_detail(url):
# 返回一个 response 对象
response=session.get(url)# 单位秒数
content=response.html.find('div.scroll-img-cont',first=True)
li_list=content.find('li')
forliinli_list:
img_url=li.find('img',first=True).attrs['data-original']
img_url=img_url[:img_url.find('_')]+'.jpg'
print(img_url+'.jpg')
save_image(img_url)
# 保持大图
defsave_image(img_url):
img_response=requests.get(img_url)
t=int(round(time.time()*1000))# 毫秒级时间戳
f=open('/Users/wuxiaolong/Desktop/Girl/%d.jpg'%t,'ab')# 存储图片,多媒体文件需要参数b(二进制文件)
f.write(img_response.content)# 多媒体存储content
f.close()
if__name__=='__main__':
get_girl_list()
代码就这么多,是不是感觉很简单啊。
说明:1、requests-html 与 BeautifulSoup 不同,可以直接通过标签来 find,一般如下:
标签
标签.someClass
标签#someID
标签[target=_blank]
参数 first 是 True,表示只返回 Element 找到的第一个 ,更多使用:http://html.python-requests.org/;
2、这里保存本地路径/Users/wuxiaolong/Desktop/Girl/我写死了,需要读者改成自己的。遗留问题
示例所爬网站是分页的,没有做,可以定时循环来爬妹纸哦,有兴趣的读者自己玩下。参考
requests-html今天用了一下Requests-HTML库(Python爬虫)
领取专属 10元无门槛券
私享最新 技术干货