资源简介
通过改变URL来爬取百度贴吧不同的贴吧内容,新手友好度很好,值得学习
代码片段和文件信息
#!/usr/bin/evn python3
#-*- coding: utf-8 -*-
‘‘‘
Created on 2019年6月30日
‘‘‘
import urllib.request
import urllib.parse
from bs4 import BeautifulSoup
from mylog import MyLog as mylog
import codecs
class Item(object):
title = None #帖子标题
firstAuthor = None #帖子创建者
firstTime = None #帖子创建时间
reNum = None #总回复数
content = None #最后回复内容
lastAuthor = None #最后回复者
lastTime = None #最后回复时间
class GetTiebaInfo(object):
def __init__(self url):
self.url = url
self.log = mylog()
self.pageSum = 5
self.urls = self.getUrls(self.pageSum)
self.items = self.spider(self.urls)
self.pipelines(self.items)
def getUrls(self pageSum):
urls = []
pns = [str(i * 50) for i in range(pageSum)]
ul = self.url.split(‘=‘)
for pn in pns:
ul[-1] = pn
url = ‘=‘.join(ul)
urls.append(url)
self.log.info(‘获取URLS成功‘)
return urls
def spider(self urls):
items = []
for url in urls:
htmlContent = self.getResponseContent(url)
soup = BeautifulSoup(htmlContent ‘lxml‘)
tagsli = soup.find_all(‘li‘ attrs = {‘class‘:‘j_thread_list clearfix‘})
for tag in tagsli:
item = Item()
item.title = tag.find(‘a‘ attrs = {‘class‘:‘j_th_tit‘}).get_text().strip()
item.firstAuthor = tag.find(‘span‘ attrs = {‘class‘:‘frs-author-name-wrap‘}).a.get_text().strip()
item.firstTime = tag.find(‘span‘ attrs = {‘title‘:‘创建时间‘}).get_text().strip()
item.reNum = tag.find(‘span‘ attrs = {‘title‘:‘回复‘}).get_text().strip()
item.content = tag.find(‘div‘ attrs = {‘class‘:‘threadlist_abs threadlist_abs_onlyline‘}).get_text().strip()
item.lastAuthor = tag.find(‘span‘ attrs = {‘class‘:‘tb_icon_author_rely j_replyer‘}).a.get_text().strip()
item.lastTime = tag.find(‘span‘ attrs = {‘title‘:‘最后回复时间‘}).get_text().strip()
items.append(item)
self.log.info(‘获取标题为<<%s>>的项成功...‘ %item.title)
return items
def pipelines(self items):
fileName = ‘百度贴吧_java.txt‘#.encode(‘utf-8‘)
with codecs.open(fileName ‘w‘ ‘utf-8‘)as fp:
for item in items:
try:
fp.write(‘title:%s \t author:%s \t firstTime:%s \r\n content:%s \r\n return:%s \r\n‘
‘lastAuthor:%s \t lastTime:%s \r\n\r\n\r\n\r\n‘%(item.title item.firstAuthor
item.firstTime item.content item.reNum item.lastAuthor item.lastTime))
except Exception as e:
self.log.error(‘写入文件失败‘)
else:
self.log.info(‘标题为<<%s>>的项输入到“%s“成功‘ %(item.title fileName))
def getResponseContent(self url):
‘‘‘
单独使用一个函数返回页面返回值,是为了后期方便的
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-07-22 11:20 baidupostbar - 副本\
目录 0 2019-07-22 11:20 baidupostbar - 副本\.idea\
文件 763 2019-07-01 01:13 baidupostbar - 副本\.idea\baidupostbar.iml
目录 0 2019-06-30 20:53 baidupostbar - 副本\.idea\inspectionProfiles\
文件 313 2019-07-01 01:13 baidupostbar - 副本\.idea\misc.xm
文件 283 2019-06-30 20:41 baidupostbar - 副本\.idea\modules.xm
文件 14798 2019-07-22 11:19 baidupostbar - 副本\.idea\workspace.xm
文件 316009 2019-07-01 19:40 baidupostbar - 副本\getCommentInfo.log
文件 3770 2019-07-01 19:24 baidupostbar - 副本\getCommentInfo.py
文件 1574 2019-07-01 11:50 baidupostbar - 副本\mylog.py
目录 0 2019-07-22 11:20 baidupostbar - 副本\venv\
目录 0 2019-06-30 20:41 baidupostbar - 副本\venv\Include\
目录 0 2019-07-22 11:20 baidupostbar - 副本\venv\Lib\
目录 0 2019-07-22 11:20 baidupostbar - 副本\venv\Lib\site-packages\
文件 55 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\easy-install.pth
目录 0 2019-07-22 11:20 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\
目录 0 2019-07-22 11:20 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\EGG-INFO\
文件 1 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\EGG-INFO\dependency_li
文件 98 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\EGG-INFO\entry_points.txt
文件 2 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\EGG-INFO\not-zip-safe
文件 2972 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\EGG-INFO\PKG-INFO
文件 74 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\EGG-INFO\requires.txt
文件 12502 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\EGG-INFO\SOURCES.txt
文件 4 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\EGG-INFO\top_level.txt
目录 0 2019-07-22 11:20 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\pip\
目录 0 2019-07-22 11:20 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\pip\_internal\
文件 14014 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\pip\_internal\ba
文件 8764 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\pip\_internal\ba
文件 2773 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\pip\_internal\build_env.py
文件 7023 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\pip\_internal\cache.py
文件 16679 2019-06-30 20:41 baidupostbar - 副本\venv\Lib\site-packages\pip-10.0.1-py3.6.egg\pip\_internal\cmdoptions.py
............此处省略378个文件信息
- 上一篇:豆瓣电影大数据分析-
- 下一篇:《 流畅的python 》源代码 .zip
相关资源
- 《 流畅的python 》源代码 .zip
- Python基础教程第3版电子版 文字版 中
- python教材
- pandas包python3.5版本 win64
- 用Python写网络爬虫.pdf 高清版
- Python Cookbook 第三版 中文+英文 高清带
- python写的一个小型计算器
- matplotlibwin32
- python菜鸟教程
- 精通Python设计模式 超清pdf 非扫描 带
- 人工智能-python机器学习实战高清完整
- 基于物品的协同过滤算法源码及数据
- 流畅的python_PDF 中文 高清 无密码
- Python编程从入门到实践.rar
- FlaskWeb开发:基于Python的Web应用开发实
- 《Python金融序列量化应用编程指南》
- Python web接口开发与测试电子版.pdf
- Thoughtful Machine Learning with Python
- Python for Data Analysis 2nd Edition最终版
- 《Python基础教程第3版》带书签超清
- 《Selenium自动化测试:基于Python语言》
- Django Web开发指南(Python)
- Python for Data Analysis 2nd Edition.pdf
- Web接口开发与自动化测试-基于Python语
- FishC小甲鱼零基础学python全套课后习题
- 分析三国演义和红楼梦,进行中文分
- python接口自动化测试
- Flask Web开发:基于Python的Web应用开发
- python不使用框架实现卷积神经网络识
- Python基础教程(第三版).pdf
评论
共有 条评论