前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python爬虫学习,爬取豆瓣各分类书单

python爬虫学习,爬取豆瓣各分类书单

作者头像
python学习教程
发布2019-07-10 14:51:03
6080
发布2019-07-10 14:51:03
举报
文章被收录于专栏:python学习教程python学习教程

点击蓝字“python教程”关注我们哟!

代码展示:

代码语言:javascript
复制
pachon2.5.py      
# -- coding: utf-8 --
import urllib
import urllib2
import re
import sys

reload(sys)

sys.setdefaultencoding('utf-8')

class book:     #豆瓣书籍的类
    def init(self, types, page):
        self.baseUrl = 'http://www.douban.com/tag/'
        self.types = types
        self.filename = 'doubanbook.txt'
        self.page = page
代码语言:javascript
复制
def getContents(self): #爬取源代码
    try:
        #if self.page == 0:
        url = self.baseUrl + self.types + '/book'
        #else:
        #   url = self.baseUrl + self.types + '/book?start=' + str(self.page)
        user_agent = 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36'
        headers = { 'User-Agent' : user_agent}
        request = urllib2.Request(url,headers = headers)
        response = urllib2.urlopen(request)
        content = response.read()  #.decode('utf-8')
        pattern = re.compile('<a href=.*?class="title".*?target="_blank">(.*?)</a>.*?>(.*?)</div>',re.S)
        items = re.findall(pattern,content)
        return items
    except urllib2.URLError, e:
        if hasattr(e, "reason"):
            print u"豆瓣链接错误,错误原因", e.reason
            return None

def writetext(self, items): #写入txt
    for item in items:
        print item[0],item[1]
        files = open(self.filename,'a')
        files.write(item[0])
        files.write(item[1])
        files.write('\n')
        files.close()

def strat(self): #启动函数
    self.writetext(self.getContents())
    print u"""出现乱码为正常现象,在与本脚本相同的文件夹下会多出一个,
    
    doubanbook.txt的文件里面有所爬书籍,如你把本脚本放在桌面,
文件便会出现在桌面"""
        print u"结束输入 'O' , 联系作者输入 'A'"
        end = raw_input('>')
        if end == 'A':
            print u"QQ邮箱:1021644861@qq.com"
            raw_input('>')
        else:
            print "over"

初学python会比较困难,但是只要坚定自己的信念,不轻易认输,敢于面对,成功迟早会笑脸相迎。

注意事项

01

对Python开发技术感兴趣的同学,欢迎加下方的交流群一起学习,相互讨论。

02

学习python过程中有不懂的可以加入我的python零基础系统学习交流秋秋qun:934109170,与你分享Python企业当下人才需求及怎么从零基础学习Python,和学习什么内容。相关学习视频资料、开发工具都有分享

好啦!文章就给看官们分享到这儿

最后,如果觉得有帮助,记得关注、转发、收藏哟

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档