设为首页 收藏本站
查看: 754|回复: 0

[经验分享] 使用python开发简单的贴吧爬虫代码及python ide问题

[复制链接]

尚未签到

发表于 2017-5-2 11:54:28 | 显示全部楼层 |阅读模式
贴吧例子代码来源于csdn网站,感谢作者技术分享,受益匪浅。

#encoding=utf8
import string, urllib2
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)+ '个网页'
f = open('data/'+sName,'w+')
m = urllib2.urlopen(url+str(i)).read()
f.write(m)
f.close()
# bdulr = 'http://tieba.baidu.com/p/2296017831?pn='
bdulr = 'http://tieba.baidu.com/p/2494746884?pn='
begin_page = 1
end_page = 10
# bdulr = str(input(u'please input url:\r\n'))
# begin_page = int(input(u'input start pagenum'))
# end_page = int(input(u'end page num'))
baidu_tieba(bdulr,begin_page,end_page)


碰到的一个问题就是:
sublime2, 对raw_input()的总是提示:error, 貌似没有好的解决办法
然后使用eclipse, pydev, 但是很多时候api不支持,总是提示出错,比如

from twisted.internet.protocol import Protocol,Factory
from twisted.internet import reactor

class Echo(Protocol):
def dataReceived(self, data):
self.transport.write('hello: {}'.format(data))
class EchoFactory(protocol.Factory):
def buildProtocal(self,addr):
return Echo()
def connectionLost(self, reason):
print 'connect lost',reason

def main():
f = Factory()
f.protocol = Echo
reactor.listenTCP(8000,f)   #语法提示错误,不影响执行
reactor.run()
if __name__ == '__main__':
main()


另外一种情况就是编译出错,比如

import binascii
import socket
import struct
import sys
#create a TCP/IP socket
# sock = socket.socket(socket.AF_INET6,socket.SOCK_STREAM)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_addr = ('',10000)
sock.bind(server_addr)
sock.listen(10)
unpacker = struct.Struct('I 2s f')
while True:
print >>sys.stderr , '\n waiting for a client'
conn, client_addr = sock.accept()
try:
data = conn.recv(unpacker.size())
unpacked_data = unpacker.unpack(data)
finally:
conn.close()

报错信息如下:
Traceback (most recent call last):
  File "/Users/chenxu/work/python/pythontutorial/src/socket/server.py", line 14, in <module>
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
AttributeError: 'module' object has no attribute 'socket'
但是上面的代码使用sublime可以运行。
综合的办法就是
1. 使用eclipse, pydev来编写代码,这个ide有强大的代码补全功能,对于不熟悉python语法的人来说是福音
2. 使用sublime来运行代码,Command+b 运行快捷键
人生不如意,十有八九。
接受不能改变的事情吧。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-372118-1-1.html 上篇帖子: Python :Dive Into Python 中文版 读后感_第二章 下篇帖子: 计算python代码和db运行时间的middleware
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表