Python学习记录-网站爬点句子

news/2024/5/20 20:39:42/文章来源:https://blog.csdn.net/jianin45/article/details/86063355

背景

想用python上网爬点句子,于是花一下午的时间来做这件事,这只是一个简单的例子,不过对于入坑来说nn

conda使用

顺便添加一下conda的使用,之前一直是用python自带的virtualenv工具,安装了anoconda后还是觉得conda比较好用;

  1. 创建一个环境

    $ conda create -n vir_name python=2.7
    
  2. 使用环境

    $ source activate vir_name
    
  3. 安装工具

    $ conda install tools_name # or$ pip install tools_name
    

Beautiful Soup安装

linux下安装

apt-get isntall python-bs4

urllib2

自行解决吧!

开始写代码了

首先我们需要用到这么些个库,自行去匹配吧,环境没有,自己去凑;

#!/usr/bin/python
# coding:utf-8import urllib2 
import re 
from bs4 import BeautifulSoup
from distutils.filelist import findallimport time
import sys
import osimport socket

接下来的这两段解决的是,默认的网络请求超时时间设定,以及解决系统编码问题,因为使用过程中会遇到乱码的问题(本人使用mac系统,参考教程使用的是win系统)

second_out = 200
socket.setdefaulttimeout(second_out) reload(sys)
sys.setdefaultencoding('utf-8')

我们爬取的网站是一个句子网,静态网站比较好操作,而且网址的形式就是下面的前缀,加1000+的数字,所以我们只需要写一个循环,每隔一定时间请求新的网站地址就可以了;

web = "http://www.siandian.com/yulu/"

为了防止程序异常出现导致请求网站的索引丢失,我们把已经请求过的网址索引保存起来,下次请求从本地“恢复现场”,这样就不会重复请求了;

global indexindex = 1351index_path = os.path.join(os.getcwd(), 'index.txt')if not os.path.exists(index_path):with open(index_path, 'w') as f:s = str(index)f.write(s)with open(index_path, 'r') as f:s = f.read()print sindex = int(s)
  • 下面的说明会写在代码里

image_1d0lk9rapih31pcjcft1puv1ach9.png-428.4kB

def get_page(index):url = web + "{}.html".format(index)request = urllib2.Request(url)page = urllib2.urlopen(request, timeout=second_out) return pagewhile True: # 我们需要一个一直运行的循环page = get_page(index) # 获取请求的网站内容time.sleep(1) # 有些网站对频繁请求的IP会做处理,另外网页请求需要时间处理,所以我们每隔一定时间去请求新的内容try:if page != None:contents = page.read()# print contentssoup = BeautifulSoup(contents, "html.parser", fromEncoding="gb18030")# 下面这两句是解决编码问题的,因为会涉及到中文输出乱码的问题soup.originalEncodingsoup.prettify()# print soup.prettify()print "当前索引:{}".format(index)# print soup.title# print soup.head# print soup.p# print soup.a# 这里其实就是我们的重点处理,使用find_all函数可以找到网页中所有<p>名字的标签,返回类型为{bs4.element.Tag},可以去查一下,通过Tag可以直接把文本取出来;ppps = soup.find_all('p')path_dir = os.path.join(os.getcwd(), "txt")if not os.path.exists(path_dir):os.mkdir(path_dir)if len(ppps) > 10:file_path = "{}/{}.txt".format(path_dir,index)if os.path.exists(file_path):index += 1continuewith open(file_path, 'w') as f:for cont in soup.find_all('p'):# print type(cont) # bs4.element.Tag# 其实真正解决中文乱码问题的应该是这句text = cont.text.encode('utf-8').decode('utf-8')f.write(text + '\n')# 最后我们把找到的文本标签写入文件with open(index_path, 'w') as f:f.write("{}".format(index))else:print "无信息可保存!!!"index += 1continueelse:print "index: {} ----> None".format(index)except Exception as e:print "处理网址异常!!!"print eindex += 1continuefinally:print "finally"with open(index_path, 'w') as f:f.write("{}".format(index))pass	

结果

image_1d0lken6rd6ep9sf5s1oofcl9.png-120.7kB

后记

具体如何进一步通过标签找到自己想要的网站内容,请自行学习,路漫漫其修远兮,吾程序员将上下而求码~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_892974.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不同网站和页面爬虫知识点

1、json.loads()解码python json格式 json.load()加载python json格式文件 因此使用requests.get(url)和urllib.urlopen(url)获取内容的方式如下&#xff1a; 2、关于爬取Ajax动态加载&#xff08;翻页时url不变&#xff09;的网页网站 &#xff08;1&#xff09;中国票房网&a…

Github 无法登陆,网站超时问题

网络诊断为&#xff1a;电脑配置没有问题&#xff0c;但是该网站服务器资源无法访问。 简单点直接上解决办法&#xff1a;在hosts文件中添加网站IP。 在文件目录下&#xff1a;C:\Windows\System32\drivers\etc 中&#xff0c;将hosts文件复制到桌面&#xff0c;右键 【属性】…

基于httpd搭建web静态网站

.搭建静态网站 要求&#xff1a; >基于ip实现web网站访问 建立一个xxx.xxx.xxx.100的网站&#xff0c;文件放在/www/100,内容显示this is xxx.xxx.xxx.100. 建立一个xxx.xxx.xxx.200的网站&#xff0c;文件放在/www/200,内容显示this is xxx.xxx.xxx.200. 安装httpd&#x…

android源码常用网站

泡在网上的日子http://www.jcodecraeer.com/plus/list.php?tid31 2.安卓源码服务专家http://www.javaapk.com 3.伯乐在线http://hao.jobbole.com/category/android/ A5源码&#xff1a;http://down.admin5.com/ 安卓巴士&#xff1a;http://www.apkbus.com/ 当然还有开源中国&…

大规模网站架构缓存

一、前端Cache机制 1. 域名转为IP地址&#xff08;域名服务器DNS缓存&#xff09; 我们知道域名其实只是一个别名&#xff0c;真实的服务器请求地址&#xff0c;实际上是一个IP地址。获得IP地址的方式&#xff0c;就是查询DNS映射表。虽然这是一个非常简单的查询&#xff0c; 但…

查看IIS日志以及网站对应的IIS日志文件夹

1.为什么要查看IIS日志&#xff1f; 有时&#xff0c;我们在部署了一个程序之后&#xff0c;虽然程序里面记载了log日志&#xff0c;但有些类似503这样的错误在程序里面是无法记载的&#xff0c;所以我们需要通过查看IIS日志来查找问题。 2.IIS日志目录 点进去之后&#xff0c;…

极其简洁的购物商城静态网站

极其简洁的购物商城静态网站 首先介绍一下使用了那些东西做的。 整体使用html5cssjs&#xff08;少量&#xff09;jquery&#xff08;一点点 &#xff09; 实现内容有 js轮播图&#xff0c;canvas实现飘雪&#xff0c;背景音乐。这些比较垃圾的功能大部分都借鉴了其他人的实现…

Python 网站开发(一)环境搭建

前些天看到小阳买回来的一本 Python 基础教程&#xff0c;于是就产生了使用 Python 来开发一个小博客的想法。这个 Python 网站开发系列文章将不会过多说 Python 基本语法&#xff0c;主要是面向实践的。使用 Python 2.7、框架为 Django 1.3、数据库为 Sql Server&#xff08;没…

毕业设计-微信公众平台开发与设计(三:网站)

网站为 java web类型&#xff0c;在My Eclipse中完成。 微信类代码可在我网盘下载&#xff1a;http://yun.baidu.com/share/link?shareid4115214330&uk1662955403 网站的类包结构如图&#xff1a; 其中核心——微信公众账号“反应”直接代码在CoreServlet类中&#xff0c;…

Python爬虫借助Genecards网站将基因全名转换为Gene Symbol——历时8小时!

历时8小时的爬虫&#xff1a;基因全名与基因名缩写的转换——Genecards 在爬取了TCMSPW的中药材的靶向基因后&#xff0c;得到的靶向基因名称是全名&#xff0c;但是后续分析需要的是基因名称缩写&#xff08;即Gene Symbol&#xff09;。最初尝试用R语言的org.Hs.eg.db包来进…

谭云财SEO:优化网站权重,往往可以从这三个方面入手

通过在不断的工作生涯路上&#xff0c;接触到了各行各业的网站&#xff0c;做过cms系统&#xff0c;也和开发人员从0起步做一个网站的优化&#xff0c;有的人或许以为ip起来了&#xff0c;权重就增加了&#xff0c;然并卵&#xff0c;百度权重从0到1的提升需要很多因素在其中&a…

谭云财:网站更换ip之后对百度排名存在多大的影响呢?

之前听到很多人会纠结于网站是否可以更换ip地址&#xff0c;换句话说就是域名和ip做绑定解析的关系&#xff0c;这也难怪了&#xff0c;更换解析中途基本没有遇到网站不能访问的情况&#xff0c;之前分享过一篇网站更换空间影响SEO优化吗&#xff0c;其他的因素暂且不说&#x…

谭云财SEO顾问:什么样的文章倾向于被收录,原来是这样子

由于百度搜索引擎经常性的变更百度算法&#xff0c;所以这种机制会促使爬虫根据算法来调整和收录规则&#xff0c;谭云财SEO顾问分析&#xff0c;也许有人会说自己的网站比较小巧不会被碰钉子&#xff0c;那你就想错了&#xff0c;凡是在搜索引擎中检索的主页站点&#xff0c;都…

谭云财:SEO优化当中的网站不停复制采集内容,有哪些影响呢?

网站SEO优化过程中最大的难题并不是一个网站的SEO结构做的有多好&#xff0c;谭云财SEO顾问&#xff08;www.tanyuncai.com&#xff09;分析了网站优化当中存在的几个问题&#xff0c;这些都是有固定化的东西可寻的&#xff0c;而且程序员也很容易的去实现&#xff0c;SEO优化过…

谭云财成都SEO:在网站价值中,点击率和关键词排名存在什么关系?

随着SEO工作的不断深入学习和挖掘&#xff0c;我们会发现有更多的资源和渠道进行展出&#xff0c;这个时候我们往往会更加考虑到互联网的后期发展优势和资源投入力度&#xff0c;无论是继续投放资源&#xff0c;还是放弃优化&#xff0c;就会让人感觉到些许的消沉。针对SEO优化…

谭云财分享做好seo工作该有的一套流程计划,赶快收藏吧!

有的时候我们或许会觉得自己做的对或错&#xff0c;谭云财SEO顾问教你一项技术分析&#xff0c;更多时候需要找到一种计划流程&#xff0c;假设没有相应的seo计划或者说流程&#xff0c;那我们做seo优化就会变得没有任何意义&#xff0c;也许这个时候你会想我们做seo计划表能够…

有趣的网站合集

导航页面 1、有趣网址之家 – 收藏全球最有趣的网站 https://youquhome.com/ 一、电子图书及公开课程 1、国图公开课 依托国家图书馆宏富的馆藏资源&#xff0c;以服务国家战略、传播中华优秀传统文化、提高公众文化生活品质为主线。一方面整合多种文献资源&#xff0c;并结…

256模板官网站点SEO优化分析记录

一直在做SEO 网站优化 工作&#xff0c;网站搭建好后也没没有做过官网优化的记录&#xff0c;今天有空余时间查询一下记录网站现在的状况。 通过站长工具进行分析&#xff0c; 织梦模板 的关键字一致很稳定&#xff0c;也没有上升的趋势&#xff0c;看来是要进行分析做一下…

256模板网网站优化分析之站长工具篇

之前我们发布的一篇文章 " 256模板官网站点SEO优化分析记录 "记录了网站一些基本的排名情况&#xff0c;以及网站收录、快照等情况。通过对上一次网站截图的对比&#xff0c;我们发现了百度对 256模板网 的收录速度还是挺快的&#xff0c;做到了当天就可以收录的…

httpclient模拟浏览器访问网站

HttpClient 是 Apache Jakarta Common 下的子项目&#xff0c;可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包&#xff0c;并且它支持 HTTP 协议最新的版本和建议。本文首先介绍 HTTPClient&#xff0c;然后根据作者实际工作经验给出了一些常见问题的…