首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 爬虫实战(二):使用 requests-html

安装

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爬虫)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180313G1ML1G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券