GET请求/百度贴吧 有bug
# -*- coding:utf-8 -*-
import urllib, urllib2
import re
import sys class Cuzz():
"""这是一个类"""
def __init__(self, url, header, start_page, end_page):
self.url = url
self.header = header
self.start_page = start_page
self.end_page = end_page def deal_url(self):
"""处理url"""
for i in range(self.start_page, self.end_page+1):
num = 50*(i-1)
url = self.url+str(num)
request = urllib2.Request(url, headers=self.header)
response = urllib2.urlopen(request)
htmltext = response.read()
self.load_images(htmltext) def load_images(self, htmltext):
"""下载图片"""
# 找出这一页的所有帖子类似这样的/p/1111111111
pattern = re.findall(r"/p/\d+", htmltext)
for temp in pattern:
url = "http://tieba.baidu.com" + temp
request = urllib2.Request(url, headers=self.header)
response = urllib2.urlopen(request)
htmltext1 = response.read()
self.save_images(htmltext1) def save_images(self, htmltext1):
"""保存到本地"""
image_links = re.findall(r"https://imgsa\.baidu.+?\.jpg",htmltext1)
for url in image_links:
request = urllib2.Request(url, headers=self.header)
response = urllib2.urlopen(request)
htmltext1 = response.read()
print htmltext1
with open("./images/"+str(url[-10:-1]), "w") as f:
f.write(htmltext1) def main():
"""控制"""
header = {"User-Agent":"Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1"}
title = raw_input("请输入您要下载的贴吧:")
keyword = {"kw":title} # 是一个字典的格式,转换后"kw=%34dgfdg%fg keyword = urllib.urlencode(keyword) # 有中文需要转成url的格式 url = "https://tieba.baidu.com/f?" + keyword + "&ie=utf-8&pn=" start_page = int(raw_input("请输入起始页面:"))
end_page = int(raw_input("请输入截止页面:")) cuzz = Cuzz(url, header, start_page, end_page)
cuzz.deal_url()
GET请求/百度贴吧 有bug的更多相关文章
- ios/iphone手机请求微信用户头像错位BUG及解决方法
转:http://www.jslover.com/code/527.html ios/iphone手机请求微信用户头像错位BUG及解决方法 发布时间:2014-12-01 16:37:01 评论数:0 ...
- 多线程、多进程、协程、IO多路复用请求百度
最近学习了多线程.多进程.协程以及IO多路复用,那么对于爬取数据来说,这几个方式哪个最快呢,今天就来稍微测试一下 普通方式请求百度5次 import socket import time import ...
- 关于百度分享——bdCustomStyle一点bug
最近碰到一个项目,因为用上百度分享,出现了奇怪的bug. 具体是,当访问JSP页面时,js脚本会执行一次,而java脚本执行了两次. 最后排查发现是百度分享js脚本的问题,把"bdCusto ...
- jsonp跨越请求百度搜索api 实现下拉列表提示
题目来源: 最近在做百度IFE前端技术学院的题,然后有一题就是模拟百度搜索智能提示.题目是开源的,稍后给出地址. 因为博主没学过后端啊,欲哭无泪,所以不能实现后端模糊搜索,那如果前端ajax纯粹请求一 ...
- 百度地图 javascript相关Bug搜集
一 在手机里用百度地图js版做webapp bug集合 1 之前用2.0版本的时候发现只要地图添加了覆盖物,无论数量多少,当地图放大到很小的范围时候,会卡死 1.1 当时处理办法:将版本降低至1. ...
- angular2jsonp如何跨域请求百度API进行定位
前提,百度api的申请,不会的可以百度一下,下面是连接 http://lbsyun.baidu.com/index.php?title=webapi/ip-api 1.appMoudle里引入 imp ...
- 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期
腾讯云图片鉴黄集成到C# 官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: public c ...
- AJax跨域请求百度音乐接口数据展示页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue-resource: jsonp请求百度搜索的接口
1. yarn add vue-resource 2. main.js引入vue-resource import Vue from 'vue' import MintUI from 'mint-ui' ...
随机推荐
- Spring 高级依赖注入方式
1.处理自动装配的歧义性 1.1 标记首选的bean 使用@Primary 来说明一个bean是首选的. @Component @Primary public class GuoRongCD im ...
- NULL字段对于UNIQUE INDEX失效
- kali 2017更新源
#阿里云deb http://mirrors.aliyun.com/kali kali-rolling main non-free contribdeb-src http://mirrors.aliy ...
- Asp.Net MVC 捆绑(Bundle)
Asp.Net MVC 捆绑(Bundle) 大多数浏览器会对同一域名的请求限制请求数量,一般是在8个以内.每次最多可以同时请求8个,要是资源多于8个,那么剩下的就要排队等待请求了.所以为了提高首次加 ...
- 《java.util.concurrent 包源码阅读》15 线程池系列之ScheduledThreadPoolExecutor 第二部分
这篇文章主要说说DelayedWorkQueue. 在ScheduledThreadPoolExecutor使用DelayedWorkQueue来存放要执行的任务,因为这些任务是带有延迟的,而每次执行 ...
- daemon 启动system V init 和 systemd 配置
先试着写一个udpserver的daemon #include <stdio.h> #include <sys/socket.h> #include <sys/types ...
- Neutron控制节点集群
#Neutron控制节点集群 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html #.Neutron控制节点集群 #本实 ...
- HDU 1698 Just a Hook 线段树+lazy-target 区间刷新
Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- yii2.0中数据缓存之增删改查
public function actionSss(){ /* * 获取到缓存 * 这里是获取的是根目录下 的common/main.php中的缓存类组件 * */ $cache=\Yii::$app ...
- jQuery noConflict() 方法----与其他javaScript插件冲突时
1,全名代替----jQuery: $.noConflict(); jQuery(document).ready(function(){ jQuery("button").clic ...