文档章节

爬取贴吧帖子

just_wkj
 just_wkj
发布于 2016/02/02 23:12
字数 190
阅读 71
收藏 2
点赞 1
评论 0
#-*-coding:utf8-*-
from lxml import etree
from multiprocessing.dummy import Pool as ThreadPool
import requests
import json
import sys

reload(sys)

sys.setdefaultencoding('utf-8')

'''重新运行之前请删除content.txt,因为文件操作使用追加方式,会导致内容太多。'''

def towrite(contentdict):
    f.writelines(u'回帖时间:' + str(contentdict['topic_reply_time']) + '\n')
    f.writelines(u'回帖内容:' + unicode(contentdict['topic_reply_content']) + '\n')
    f.writelines(u'回帖人:' + contentdict['user_name'] + '\n\n')

def spider(url):
    html = requests.get(url)
    selector = etree.HTML(html.text)
    content_field = selector.xpath('//div[@class="l_post j_l_post l_post_bright  "]')
    item = {}
    for each in content_field:
        reply_info = json.loads(each.xpath('@data-field')[0].replace('&quot',''))
        author = reply_info['author']['user_name']
        content = each.xpath('div[@class="d_post_content_main"]/div/cc/div[@class="d_post_content j_d_post_content  clearfix"]/text()')[0]
        reply_time = reply_info['content']['date']
        print content
        print reply_time
        print author
        item['user_name'] = author
        item['topic_reply_content'] = content
        item['topic_reply_time'] = reply_time
        towrite(item)

if __name__ == '__main__':
    pool = ThreadPool(4)
    f = open('content.txt','a')
    page = []
    for i in range(1,21):
        newpage = 'http://tieba.baidu.com/p/3522395718?pn=' + str(i)
        page.append(newpage)

    results = pool.map(spider, page)
    pool.close()
    pool.join()
    f.close()


© 著作权归作者所有

共有 人打赏支持
just_wkj

just_wkj

粉丝 2
博文 58
码字总数 14996
作品 0
南京
程序员
Python实现贴吧多线程网盘爬虫

大多数Python学习者都是冲着Python在爬虫领域有非常出色的表现才开始学习的,在学好Python的基本语法并会使用re、requests、BeautifulSoup4等模块后,很快就能写出一个简单的爬虫小程序(不要...

数据取经团 ⋅ 2017/11/29 ⋅ 0

Python网页爬虫学习

我总结的了ython网页爬虫的笔记,使用BeautifulSoup和requests两个模块实现,能够爬取百度贴吧帖子图片的功能。里面还包括的了两个模块具体的使用讲解,还包含了详细的注释。有问题请在GIT留...

人型电脑天使心 ⋅ 2015/09/18 ⋅ 0

scrapy无法使用xpath解析?特殊网页的信息提取(1) — 百度贴吧

scrapy无法使用xpath解析?特殊网页的信息提取(1) — 百度贴吧 1. 背景 最近在使用scrapy爬取百度贴吧帖子内容时,发现用xpath无法解析到页面元素。但是利用xpath helper这个插件,很明显可...

zwq912318834 ⋅ 04/15 ⋅ 0

分享我自己写的一套Python爬虫学习经验

最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多。学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫感兴...

崔庆才 ⋅ 2015/02/23 ⋅ 24

Python爬虫学习系列教程

一、Python入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入门四之Urllib库的高级用法 5. Python爬虫入门五之U...

xiejunbo ⋅ 2016/02/16 ⋅ 0

芝麻HTTP:Python爬虫实战之爬取百度贴吧帖子

本篇目标 1.对百度贴吧的任意帖子进行抓取 2.指定是否只抓取楼主发帖内容 3.将抓取到的内容分析并保存到文件 1.URL格式的确定 首先,我们先观察一下百度贴吧的任意一个帖子。 比如:http://...

芝麻软件 ⋅ 01/11 ⋅ 0

Scrapy爬取豆瓣小组图片

狗年开工毫无工作心情,胡思乱想后决定爬取豆瓣上的一下信息打发时间,毕竟之前基本没接触过爬虫,还是挺感兴趣的。 Scrapy简介 首先简单介绍一下Scrapy爬虫框架,主要是架构方面,这方面能快...

什么都没想到 ⋅ 03/05 ⋅ 0

Nutch如何实现爬取的结果重定向?

背景:我用的是Nutch1.2,我爬取了新浪论坛的若干帖子,这些帖子能够正常的检索。现在我想把爬取的这些帖子以文本形式存储到自己的文件系统中,其中文本内容包括:帖子的名称、作者、发表时间...

heyi_sc ⋅ 2013/04/22 ⋅ 2

有哪些网站用爬虫爬取能得到很有价值的数据(转)

想做数据,首先从获取数据开始。但是对于需要获取什么数据,数据可以干什么,很多人还是一头雾水,知乎达人林骏翔给出了参考。本文来林骏翔在知乎的回答,已获授权,转载请联系林骏翔。 一大...

好铁 ⋅ 2016/03/22 ⋅ 0

一个类同时与两个类一对多怎么保存

百度贴吧的模型 用户、贴吧、帖子三个类 用户和帖子一对多 贴吧和帖子一对多 单个一对多的时候,通过保存用户、贴吧,可以保存帖子 但是现在两个一对多,无论是保存用户,保存贴吧,还是保存...

战天诛 ⋅ 2015/03/11 ⋅ 11

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vuex学习

1、getters基本用法: 在store.js里面用const声明我们的getters属性。 const getters={ count:function (state) { return state.count +=100; }} export default new Vuex.S......

大美琴 ⋅ 41分钟前 ⋅ 0

292. Nim Game - LeetCode

Question 292. Nim Game Solution 思路:试着列举一下,就能发现一个n只要不是4的倍数,就能赢。 n 是否能赢1 true2 true3 true4 false 不论删除几,对方都能一把赢5 t...

yysue ⋅ 52分钟前 ⋅ 0

G6 关系数据可视化图形库 简单使用

官网 https://antv.alipay.com/zh-cn/g6/1.x/index.html 效果 首先生成给定数目的小球,并设置随机的颜色 按照顺序,设置小球的角度以及坐标 设置定时器,每隔一定的时间修改小球的角度和坐标...

阿豪boy ⋅ 55分钟前 ⋅ 0

6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩

zip压缩工具 zip命令可以压缩目录和文件,-r 压缩目录。 zip使用方法 zip 1.txt.zip 1.txt //压缩文件 zip -r 123.zip 123/ //压缩目录 unzip 1.txt.zip //解压 unzip 123.zip -d /root/456...

Linux_老吴 ⋅ 今天 ⋅ 0

react-loadable使用跳坑

官方给react-loadable的定义是: A higher order component for loading components with dynamic imports. 动态路由示例 withLoadable.js import React from 'react'import Loadable fro......

pengqinmm ⋅ 今天 ⋅ 0

记录工作中遇到的坑

1、ios safari浏览器向下滚动会触发window resize事件

端木遗风 ⋅ 今天 ⋅ 0

桥接设计模式

1、概述: 将抽象部分与他的实现部分分离,这样抽象化与实现化解耦,使他们可以独立的变化 如何实现解耦的呢,就是通过提供抽象化和实现化之间的桥接结构 桥接模式将继承模式转化成关联关系,他降...

职业搬砖20年 ⋅ 今天 ⋅ 0

20.zip压缩 tar打包 打包并压缩

6月25日任务 6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩 6.5 zip压缩工具: zip支持压缩目录 zip压缩完之后原来的文件不删除 不同的文件内容其实压缩的效果不一样 文件内有很多重复的用xz压...

王鑫linux ⋅ 今天 ⋅ 0

double类型数据保留四位小数的另一种思路

来源:透析公式处理,有时候数据有很长的小数位,有的时候由在四位以内,如果用一般的处理方法,那么不足四位的小树会补充0到第四位,这样子有点画蛇添足的感觉,不太好看。所以要根据小数的...

young_chen ⋅ 今天 ⋅ 0

Django配置163邮箱出现 authentication failed(535)错误解决方法

最近用Django写某网站,当配置163邮箱设置完成后,出现535错误即:smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed') Django初始配置邮箱设置 EMAIL_HOST = "smtp.1...

陈墨轩_CJX ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部