python 爬虫小案例
爬取百度贴吧帖子信息
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# author: imcati
import requests,re,time
class TiebaSpider(object):
def __init__(self,tiebaName):
self.tiebaName=tiebaName
self.base_url='https://tieba.baidu.com/f?kw='+tiebaName+'&ie=utf-8&pn={}'
self.headers={ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}
#构造请求
def get_url_list(self):
url_list=[]
for i in range(5):
url_list.append(self.base_url.format(i*50))
return url_list
#获取页面信息
def get_pageInfo(self,url):
response=requests.get(url=url,headers=self.headers)
return self.parse_pageInfo(response.content.decode('utf-8'))
#解析数据
def parse_pageInfo(self,html):
pattern=re.compile('<div class="t_con cleafix".*?<a rel="noreferrer" href="(.*?)" title="(.*?)" target=.*?</div>',re.S)
return re.findall(pattern,html)
#保存抓取信息
def save_info(self,info):
for value_info in info:
info_str = '帖子信息:' + value_info[1] + '帖子链接:https://tieba.baidu.com' + value_info[0] + '\n'
with open('./tieba','ab') as f:
f.write(info_str.encode("utf-8"))
def run(self):
url_list=self.get_url_list()
for url in url_list:
info=self.get_pageInfo(url)
self.save_info(info)
time.sleep(1) if __name__=="__main__":
tiebaspider=TiebaSpider('python')
tiebaspider.run()
python 爬虫小案例的更多相关文章
- 4.Python爬虫小案例
1.网络爬虫定义:按照一定的规则,自动的抓取网站信息的程序或者脚本. 2.流程:request打开url得到html文档==浏览器打开源码分析元素节点==通过BeautifulSoup得到想要的数据= ...
- 一个python爬虫小程序
起因 深夜忽然想下载一点电子书来扩充一下kindle,就想起来python学得太浅,什么“装饰器”啊.“多线程”啊都没有学到. 想到廖雪峰大神的python教程很经典.很著名.就想找找有木有pdf版的 ...
- python购物车小案例
python购物车小案例# 案列描述:有一个小型水果店里面有水果(苹果:¥8/kg,香蕉:¥5/kg,芒果:¥15/kg,葡萄:¥12/kg),客户带了100元钱进店选购水果.# 1.客户输入相应序号 ...
- python 爬虫入门----案例爬取上海租房图片
前言 对于一个net开发这爬虫真真的以前没有写过.这段时间学习python爬虫,今天周末无聊写了一段代码爬取上海租房图片,其实很简短就是利用爬虫的第三方库Requests与BeautifulSoup. ...
- python 爬虫入门案例----爬取某站上海租房图片
前言 对于一个net开发这爬虫真真的以前没有写过.这段时间开始学习python爬虫,今天周末无聊写了一段代码爬取上海租房图片,其实很简短就是利用爬虫的第三方库Requests与BeautifulSou ...
- 适合新手的Python爬虫小程序
介绍:此程序是使用python做的一个爬虫小程序 爬取了python百度百科中的部分内容,因为这个demo是根据网站中的静态结构爬取的,所以如果百度百科词条的html结构发生变化 需要修改部分内容. ...
- Python爬虫入门案例:获取百词斩已学单词列表
百词斩是一款很不错的单词记忆APP,在学习过程中,它会记录你所学的每个单词及你答错的次数,通过此列表可以很方便地找到自己在记忆哪些单词时总是反复出错记不住.我们来用Python来爬取这些信息,同时学习 ...
- python爬虫小实例
1.python爬取贴吧壁纸 1.1.获取整个页面数据 #coding=utf-8 import urllib def getHtml(url): page = urllib.urlopen(url) ...
- 找python爬虫小项目?github给你准备好了!
前言 即使我们都是程序员,但我们也并非都会修电脑,都会做酷炫的ppt,都会优化系统卡顿.其实程序员也是分行业.分专业的,就像医生也分内外科.呼吸科.神经科神的. 作为非专业的python选手,或者非专 ...
随机推荐
- Python之subprocess模块的使用
1.subprocess调用系统的命令 #!/usr/bin/env python # -*- coding: utf-8 -*- import subprocess import sys compl ...
- jQuery.getJSON(url, [data], [callback])
jQuery.getJSON(url, [data], [callback]) 概述 通过 HTTP GET 请求载入 JSON 数据. 在 jQuery 1.2 中,您可以通过使用JSONP形式的回 ...
- 上传项目到码云或GitHub
一.安装Git 官网下载地址:https://git-scm.com/download/win 安装完成后,配置环境变量即可, 打开cmd,输入 git,出现以下提示即表示安装成功: 二.生成ssh公 ...
- hdu 5723 Abandoned country 最小生成树+子节点统计
Abandoned country Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- Java基础__ToString()方法
Java toString() 方法 (一).方便println()方法的输出 public class TString { private String name; public TString(S ...
- PHP-过滤器-连接数据库-解析XML
PHP 过滤器 what? PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入. 验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分. 设计 PHP 的过滤器扩展的目的 ...
- lcx用法
lcx使用方 本机IP:192.168.125.11 目标机IP:192.168.125.101 本机运行: lcx -listen 3333 2222 目标机运行:lcx -slave ...
- 8.1 HTML基础知识点
8.1 HTML基础知识点 一.HTML是什么? Hyper Text Markup Language 超文本标记语言 的缩写 开发一个html文件,可以有很多方式 :比如Dreamweaver,HB ...
- c源码编译
#include<stdio.h> #include<math.h> //程序中要调用求平方根函数sqrt int main() { double a,b,c,disc,x1, ...
- zookeeper系列(八)zookeeper客户端的底层详解
作者:leesf 掌控之中,才会成功:掌控之外,注定失败.出处:http://www.cnblogs.com/leesf456/p/6098255.html 尊重原创,共同学习进步: 一.前言 ...