ssl-小白求助:python爬虫

问题描述

小白求助:python爬虫

这是报错
正在下载第1个网页,并将其储存为00001.html....

Traceback (most recent call last):
File "D:python 学习百度贴吧的一个小爬虫.py", line 22, in
baidu_tieba(bdurl,begin_page,end_page)
File "D:python 学习百度贴吧的一个小爬虫.py", line 9, in baidu_tieba
m=urllib.urlopen(url+str(i)).read()
File "C:Python27liburllib.py", line 87, in urlopen
return opener.open(url)
File "C:Python27liburllib.py", line 213, in open
return getattr(self, name)(url)
File "C:Python27liburllib.py", line 297, in open_http
import httplib
File "D:python 学习httplib.py", line 10, in
opener.open('http://rrurl.cn/b1UZuP')
File "C:Python27liburllib2.py", line 431, in open
response = self._open(req, data)
File "C:Python27liburllib2.py", line 449, in _open
'_open', req)
File "C:Python27liburllib2.py", line 409, in _call_chain
result = func(*args)
File "C:Python27liburllib2.py", line 1227, in http_open
return self.do_open(httplib.HTTPConnection, req)
AttributeError: 'module' object has no attribute 'HTTPConnection'

这是程序
import string,urllib
import ssl
#定义百度函数
def baidu_tieba(url,begin_page,end_page):
for i in range(begin_page,end_page+1):
sName=string.zfill(i,5)+'.html'#自动填充成六位的文件名
print '正在下载第'+str(i)+'个网页,并将其储存为'+sName+'....'
f=open(sName,'w+')
m=urllib.urlopen(url+str(i)).read()
f.write(m)
f.close()
#在这里输入参数~~~~~~~~~~~~
#这是山东大学的百度贴吧中某一个帖子的地址
#bdurl = 'http://tieba.baidu.com/p/2296017831?pn='
#iPostBegin = 1

#iPostEnd = 10

bdurl=str(raw_input(u'请输入贴吧的地址,去掉pn=后面的数字:n'))
begin_page=int(raw_input(u'请输入开始的页数:n'))
end_page=int(raw_input(u'请输入终点的页数:n'))
#在这里输入参数
#调用
baidu_tieba(bdurl,begin_page,end_page)

解决方案

你调用的HTTPConnection 这个没有找到对应的函数。

解决方案二:

我跑了你的程序,没问题

时间: 2024-11-02 18:28:23

ssl-小白求助:python爬虫的相关文章

豆瓣-python爬虫,遇到403 forbidden,求助。

问题描述 python爬虫,遇到403 forbidden,求助. # -*- coding: utf-8 -*- import re import sys import requests reload(sys) sys.setdefaultencoding("utf-8") if __name__ == '__main__': url = 'https://movie.douban.com/subject/1433330/photos?type=W' # 获取网页源码 html =

小白求助!python下for循环print输出先后问题

问题描述 小白求助!python下for循环print输出先后问题 for i in range(111): s='' for j in range(0i): s+='*' print(s) print(s) 为什么先输出第二个print(s)输出第一个 而不是按顺序输出? 望大神指点小白! 第一次提问啊 解决方案 是先输出第一个print(s)的:比如当i==3时,第一个prnt(s)调用3次,然后第二个输出,结果为: 解决方案二: python中的for循环问题Python for whil

爬虫小白求助:自动提交更换页面请求

问题描述 爬虫小白求助:自动提交更换页面请求 如何在爬虫中自动发送请求,通过对下拉菜单选项的选择,网页变化. 就像下图这样,选择时间选项,并点击提交按钮使网页内容发生变化.

python 爬虫教程

转载http://blog.csdn.net/freeking101/article/details/62893343 爬虫入门初级篇 IDE 选择 PyCharm(推荐).SublimeText3.VS2015.wingIDE 装python2还是python3 python社区需要很多年才能将现有的模块移植到支持python3. django web.py flask等还不支持python3.所以推荐安装python2 最新版. Windows 平台 从 http://python.org/

Python爬虫系列(一)初期学习爬虫的拾遗与总结

一.环境搭建和工具准备 1.为了省去时间投入学习,推荐直接安装集成环境 Anaconda 2.IDE:Pycharm.Pydev 3.工具:Jupyter Notebook(安装完Anaconda会有的) 二.Python基础视频教程 1.疯狂的Python:快速入门精讲(Python2.x,可体验到与Python3.x的差异) 2.零基础入门学习Python 看完这些课程,自己对Python有一个感觉和掌握,可以继续看一些进阶教程 3.Python3大全(pasword:bf3e) 三.Pyt

《Python爬虫开发与项目实战》——1.4 进程和线程

1.4 进程和线程 在爬虫开发中,进程和线程的概念是非常重要的.提高爬虫的工作效率,打造分布式爬虫,都离不开进程和线程的身影.本节将从多进程.多线程.协程和分布式进程等四个方面,帮助大家回顾Python语言中进程和线程中的常用操作,以便在接下来的爬虫开发中灵活运用进程和线程.1.4.1 多进程 Python实现多进程的方式主要有两种,一种方法是使用os模块中的fork方法,另一种方法是使用multiprocessing模块.这两种方法的区别在于前者仅适用于Unix/Linux操作系统,对Wind

python 爬虫,爬取google搜索结果,爬一段时间就被噤掉了,怎么破?

问题描述 python 爬虫,爬取google搜索结果,爬一段时间就被噤掉了,怎么破? 已经进行了一些伪装,但是还是不够,希望有经验的哥们给个指点 def google_search(keyword,page): proxy_handler1 = urllib2.ProxyHandler({"https":"https://..........1:8080"}) proxy_handler2 = urllib2.ProxyHandler({"https&q

零基础写python爬虫之使用Scrapy框架编写爬虫_python

网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据.虽然我们利用一些库开发一个爬虫程序,但是使用框架可以大大提高效率,缩短开发时间.Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便.使用Scrapy可以很方便的完成网上数据的采集工作,它为我们完成了大量的工作,而不需要自己费大力气去开发. 首先先要回答一个问题. 问:把网站装进爬虫里,总共分几步? 答案很简单,四步: 新建项目 (Project):新建一个新的爬虫项目 明确目标(Item

编译器-小白求助,求质数程序死循环

问题描述 小白求助,求质数程序死循环 for i in range(1,10000): for n in range(1, (i - 1)): if ( (i % n) != 0): print i 解决方案 import math def isPrime(n): if n <= 1: return False for i in range(2,int(math.sqrt(n))+1): if n%i == 0: return False return True def hasPrime(n):