文档章节

python requests+lxml实现抓取网页静态内容中包含的图片

fromdtor
 fromdtor
发布于 2015/07/22 04:08
字数 176
阅读 1105
收藏 10

代码如下,文件名extract_content_imgs.py

# -*- coding:utf-8 -*-
import sys
import urllib2
import requests
from lxml import etree


HEADERS = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}

def main(url):
    urls = [url for url in get_image_urls(url) if url.startswith('http')]
    for url in urls:
        print 'downloading: ', url
        try:
            download(url)
        except:
            print url, 'download ERROR'

def get_image_urls(url):
    response = requests.get(url)
    tree = etree.HTML(response.text)
    return tree.xpath('//img/@src')

def download(url):
    request = urllib2.Request(url=url, headers=HEADERS)
    socket = urllib2.urlopen(request)
    with open(url.split('/')[-1], 'wb') as fp:
        fp.write(socket.read())

if __name__ == '__main__':
    if len(sys.argv) < 2:
        print sys.argv[0], 'url'
    else:
        main(sys.argv[1])

执行命令:python extract_content_imgs.py url

© 著作权归作者所有

共有 人打赏支持
fromdtor

fromdtor

粉丝 25
博文 49
码字总数 10577
作品 0
朝阳
高级程序员
私信 提问
python网络爬虫-爬取网页的三种方式

0.1 抓取网页 本文将举例说明抓取网页数据的三种方式:正则表达式、BeautifulSoup、lxml。 利用该代码获取抓取整个网页。 0.2 爬取目标 爬取http://example.webscraping.com/places/default...

糖宝lsh
01/11
0
0
Python爬虫入门:爬虫基础了解

有粉丝私信我想让我出更基础一些的,我就把之前平台的copy下来了,可以粗略看一下,之后都会慢慢出。 1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一...

天才小熊猫QAQ
2017/10/30
0
0
Python异步加载爬虫,护士私密照源源不断,Ajax抓取速度惊人!

利用aiohttp这个库来进行异步协程提速! 如果Python爬虫不仅在代码编写上展现速度,而且在爬取过程中表现出优越感,最好的就是去下载图片吧,而下载图片最好的代表当然是......我就不多说了。...

Python新世界
2018/07/17
0
0
Python开发简单爬虫--学习笔记

一、概述 目标 掌握开发轻量级爬虫 内容 爬虫简介 简单爬虫架构 URL管理器 网页下载器(urllib2) 网页解析器(BeautifulSoup) 完整实例:爬取百度百科雷军词条相关的1000个页面数据 tips: 轻量...

老男孩coder
2018/06/17
0
0
一套来自年薪40W的Python大神分享的学习体系

不论你是对Python初出茅庐,还是如指诸掌,这篇文章对你的收获总归还是有的啦,可能只是程度的问题。好了不扯远了,来说正题,下面在分享这套体系前还是要让Python做一下“自我介绍”。 1.Py...

Python共读
2018/08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Python中判断字符串是否包含中文

Python import reRE = re.compile(u'[\u4e00-\u9fa5]', re.UNICODE)match = re.search(RE, str)if match is None:# 没有包含中文字符 参考 Python regular expressions return true/f......

亚林瓜子
7分钟前
0
0
《CNCF × Alibaba 云原生技术公开课》正式首播

《CNCF × Alibaba 云原生技术公开课》立即观看:点击立即观看 云原生最初来描述云上应用的典型架构与特性,随着容器、Kubernetes、Serverless、FaaS技术的演进,CNCF(云原生计算基金会)把...

mcy0425
7分钟前
0
0
网站漏洞如何修复网站程序问题

jeecms 最近被爆出高危网站漏洞,可以导致网站被上传webshell木马文件,受影响的版本是jeecms V6.0版本到jeecmsV7.0版本。该网站系统采用的是JAVA语言开发,数据库使用的是oracle,mysql,sql数...

网站安全
10分钟前
0
0
git 中“warning: CRLF will be replaced by LF in”解决方案

https://stackoverflow.com/questions/5834014/lf-will-be-replaced-by-crlf-in-git-what-is-that-and-is-it-important...

qwfys
15分钟前
0
0
Spring Boot配置ssl证书启用HTTPS协议

一 、点睛 SSL是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密。SSL协议位于TCP/IP协议和各种应用层协议之间,为数据通信提供安全支持。 SSL协议分为两...

故久呵呵
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部