suchen

Heim  >  Fragen und Antworten  >  Hauptteil

python - Wie kann ich mit einem Crawler Bilder von Webseiten stapelweise crawlen?

Wie im Bild gezeigt, ist es sehr mühsam, Bilder einzeln im Netzwerk anzuzeigen und zu laden, um sie zu speichern. Gibt es hier eine Möglichkeit, einen Crawler zu schreiben, der die Bilder stapelweise erfasst?

给我你的怀抱给我你的怀抱2700 Tage vor1173

Antworte allen(3)Ich werde antworten

  • 仅有的幸福

    仅有的幸福2017-06-28 09:27:48

    这个需求, 如果你会爬虫其实很简单, 不外乎几个步骤:

    1. 首页或者有图片的页面, 通过正则或者其他框架, 获取图片的url

    2. 通过requests库或者urllib库, 访问上面图片url的地址

    3. 以二进制的形式, 写入本地硬盘

    参考代码:

    import re, requests
    
    r = requests.get("http://...页面地址..")
    p = re.compile(r'相应的正则表达式匹配')
    image = p.findall(r.text)[0]  # 通过正则获取所有图片的url
    ir = requests.get(image)      # 访问图片的地址
    sz = open('logo.jpg', 'wb').write(ir.content)  # 将其内容写入本地
    print('logo.jpg', sz,'bytes')
    

    更多详情, 可以参考学习requests官方文档: requests文档

    Antwort
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-28 09:27:48

    可以的,
    爬虫五个部分:
    调度程序
    url去重
    下载器
    网页解析
    数据存储
    对于下载图片的思路是:
    获取图片所在网页内容,解析img标签,得到图片地址,然后便利图片网址,下载每张图片,将下载过的图片地址保存在布隆过滤器中,避免重复下载,每次下载一张图片时,通过网址检查是否下载过,当图片下载到本地后,可以将图片路径保存在数据库中,图片文件保存在文件夹中,或者直接将图片保存在数据库中。
    python使用request+beautifulsoup4
    java使用jsoup

    Antwort
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-28 09:27:48

    如果多个网站或者一个网站需要爬到很深的情况下,楼上的方式直接递归或者深度遍历就OK

    Antwort
    0
  • StornierenAntwort