爬虫

下载安装浏览器内核:
  from requests_html import HTMLSession

  session = HTMLSession()

  url = "https://www.baidu.com"

  r = session.request(method="get", url='https://www.baidu.com')
  r.html.render()

爬取图片案例:
import os
"""
1.先获取需要爬取的url[生成器]
2.找到详情页的url
3.找到对应的标题
4.保存
"""

from requests_html import HTMLSession

class Spider():
    def __init__(self):
        self.session = HTMLSession()

    def get_url(self):
        for i in range(1, 4):
            if i == 1:
                yield "http://www.xiaohuar.com/meinv/"
            yield "http://www.xiaohuar.com/meinv/index_{}.html".format(i)

    def get_img_info(self, index_url):
        r = self.session.get(url=index_url)
        for element in r.html.find('.items'):
            src_url:str = element.find('img', first=True).attrs.get("src")
            if not src_url.startswith("http"):
                src_url = "http://www.xiaohuar.com" + src_url
            title_name = element.find('.p_title', first=True).text
            yield src_url, title_name
            # print(src_url, title_name)

    def save(self, src_url, title_name):
        r = self.session.get(url=src_url)
        title = title_name.replace("\\", '').replace("/", '').replace('|', '')
        path = os.path.join("好看", title + ".jpg")
        with open(path, 'wb') as f:
            f.write(r.content)
            print('%s下载完成'%(title))

    def run(self):
        for index_url in self.get_url():
            for src_url, title_name in  self.get_img_info(index_url):
                self.save(src_url, title_name)


if __name__ == '__main__':
    spider = Spider()
    spider.run()
View Code

 






转载于:https://www.cnblogs.com/qingqinxu/p/11497696.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值