抓取地址所有图片

#! /usr/bin/env python
from urlparse import urlsplit
from os.path import basename
import urllib2
import re
import requests
import os
import json url = 'https://www.zhihu.com/question/37787176' if not os.path.exists('images'):
os.mkdir("images") print("start>>>>>>>") page_size = 50
offset = 0
url_content = urllib2.urlopen(url).read()
answers = re.findall('h3 data-num="(.*?)"', url_content)
limits = int(answers[0]) while offset < limits:
post_url = "http://www.zhihu.com/node/QuestionAnswerListV2"
params = json.dumps({
'url_token': 37787176,
'pagesize': page_size,
'offset': offset
})
data = {
'_xsrf': '',
'method': 'next',
'params': params
}
header = {
'User-Agent': "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0",
'Host': "www.zhihu.com",
'Referer': url
}
response = requests.post(post_url, data=data, headers=header)
answer_list = response.json()["msg"]
img_urls = re.findall('img .*?src="(.*?_b.*?)"', ''.join(answer_list))
for img_url in img_urls:
try:
img_data = urllib2.urlopen(img_url).read()
file_name = basename(urlsplit(img_url)[2])
print(file_name)
output = open('images/' + file_name, 'wb')
output.write(img_data)
output.close()
except:
pass
offset += page_size print("end>>>>>>>")

正则抓取网页title

#!/usr/bin/python
# coding:utf-8
import httplib2
import urllib2
import re #正则表达式模块 class PageClass:
#获取指定url的网页内容
def get_page(self,url,headers):
http=httplib2.Http()
response,content=http.request(url,'GET',headers=headers)
return content.decode('utf-8') def main():
headers={"cookie":'your cookie'}
url = 'http://v.ktgj.com'
#print headers
page = PageClass()
content = page.get_page(url,headers)
return content if __name__ == "__main__":
htmltext = main()
pattern = re.compile(r'<title>(.*?)</title>')
match = pattern.match(htmltext)
if match:
print match.group()
print htmltext

下载网页图片

#! /usr/bin/env python
from urlparse import urlsplit
from os.path import basename
import urllib2
import re
import requests
import os
import json
import datetime if not os.path.exists('images'):
os.mkdir("images") print("start>>>>>>>>>>>>>>>>>>>>>>>") url = "http://www.ssff66.com/se/jingpintaotu/519271.html"
response = requests.get(url)
#print(response.text)
img_urls = re.findall('img .*?src="(.*?)"', response.text)
#print(img_urls) for img_url in img_urls:
try:
img_data = urllib2.urlopen(img_url,timeout = 5).read()
file_name = basename(urlsplit(img_url)[2])
print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + " " + file_name)
output = open('images/' + file_name, 'wb')
output.write(img_data)
output.close()
except Exception,e:
print("error : " + e.message)
pass print("end>>>>>>>>>>>>>>>>>>>>>>>")

【Python爬虫基础】抓取知乎页面所有图片的更多相关文章

  1. Python爬虫实战---抓取图书馆借阅信息

    Python爬虫实战---抓取图书馆借阅信息 原创作品,引用请表明出处:Python爬虫实战---抓取图书馆借阅信息 前段时间在图书馆借了很多书,借得多了就容易忘记每本书的应还日期,老是担心自己会违约 ...

  2. 【转】Python爬虫:抓取新浪新闻数据

    案例一 抓取对象: 新浪国内新闻(http://news.sina.com.cn/china/),该列表中的标题名称.时间.链接. 完整代码: from bs4 import BeautifulSou ...

  3. Python爬虫:抓取新浪新闻数据

    案例一 抓取对象: 新浪国内新闻(http://news.sina.com.cn/china/),该列表中的标题名称.时间.链接. 完整代码: from bs4 import BeautifulSou ...

  4. Python爬虫实现抓取腾讯视频所有电影【实战必学】

    2019-06-27 23:51:51 阅读数 407  收藏 更多 分类专栏: python爬虫   前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问 ...

  5. Python爬虫,抓取淘宝商品评论内容!

    作为一个资深吃货,网购各种零食是很频繁的,但是能否在浩瀚的商品库中找到合适的东西,就只能参考评论了!今天给大家分享用python做个抓取淘宝商品评论的小爬虫! 思路 我们就拿"德州扒鸡&qu ...

  6. python爬虫数据抓取方法汇总

    概要:利用python进行web数据抓取方法和实现. 1.python进行网页数据抓取有两种方式:一种是直接依据url链接来拼接使用get方法得到内容,一种是构建post请求改变对应参数来获得web返 ...

  7. Python爬虫:抓取手机APP的数据

    摘要 大多数APP里面返回的是json格式数据,或者一堆加密过的数据 .这里以超级课程表APP为例,抓取超级课程表里用户发的话题. 1.抓取APP数据包 表单: 表单中包括了用户名和密码,当然都是加密 ...

  8. python爬虫批量抓取ip代理

    使用爬虫抓取数据时,经常要用到多个ip代理,防止单个ip访问太过频繁被封禁.ip代理可以从这个网站获取:http://www.xicidaili.com/nn/.因此写一个python程序来获取ip代 ...

  9. Python爬虫之抓取豆瓣影评数据

    脚本功能: 1.访问豆瓣最受欢迎影评页面(http://movie.douban.com/review/best/?start=0),抓取所有影评数据中的标题.作者.影片以及影评信息 2.将抓取的信息 ...

随机推荐

  1. java反射机制(工厂模式)

    http://www.phpddt.com/dhtml/338.html java里面没有typeof,js有. 我终于实现了用反射机制编写的工厂模式.java反射在工厂模式可以体现. 包含产品接口类 ...

  2. JS相关链接

    给开发者提供的 35 款 JavaScript 图形图表库: http://news.cnblogs.com/n/201518/ 主题:[前端必看]JavaScript推荐资料合集: http://w ...

  3. xxx is not in the sudoers file. This incident will be reported的解决方法

    1>.进入超级用户模式.也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式.(当然,你也可以直接用root用户登录,因为红旗安装过后默认的登录 ...

  4. .net 文件下载方法

    public void DownLoadMethod(string FilePath)        {            string hzm = Path.GetExtension(FileP ...

  5. eclipse中build path 中JDK与java compiler compliance level的问题(转)

    roject facets做什么用? http://baike.baidu.com/view/6257360.htm,其实我感觉,就是让我们在创建项目时候,可以独立定义一个有一个模板供我们使用,在里面 ...

  6. 安卓手机内外SD卡互换

    相信有許多人....有內置sd太小...外置sd(sdcard2或extsd)卻只能放資料.... 一些遊戲或者是影音播放軟體....根本不會去讀外置sd(sdcard2或extsd)..... 記憶 ...

  7. OREACLE 数据库建表 添加判断表是否存在 不存在则新建

    declare  cnt number; begin   ---查询要创建的表是否存在   select count(*)into cnt from user_tables where table_n ...

  8. js 跨浏览操作

    /* 跨浏览器添加事件绑定  obj : 需要绑定js时间的对象 type:  欲绑定的事件类型,如:click ,mounseover 等事件  不需要添加on fn  :  触发的脚本*/func ...

  9. Css预处理器实践之Sass、Less大比拼

    xwei | 2012-07-07 | 网页重构 什么是CSS预处理器? Css可以让你做很多事情,但它毕竟是给浏览器认的东西,对开发者来说,Css缺乏很多特性,例如变量.常量以及一些编程语法,代码难 ...

  10. js前台与后台数据交互

    客户端脚本一般都在前台,这里讲的是(1)在后台调用前台定义的脚本(2)在后台如何注册客户端脚本 用途 何时使用服务器代码向页中添加客户端脚本: u 当客户端脚本的内容依赖于直到运行时才可用的信息时 u ...