Python简单爬虫记录
为了避免自己忘了Python的爬虫相关知识和流程,下面简单的记录一下爬虫的基本要求和编程问题!!
简单了解了一下,爬虫的方法很多,我简单的使用了已经做好的库requests来获取网页信息和BeautifulSoup来进行正则判定文本。这样也算是简单的入门了爬虫的基本实验,也能够从网页上爬取自己想要的信息!
link = 'http://news.sina.com.cn/'
res = requests.get(link)
res.encoding = 'utf-8' #设置文本的编码格式是utf-8的文件格式
soup = BeautifulSoup(res.text, 'html.parser') #通过res中的成员变量.text来得到HTML的文本res.text
alink = soup.select('a') #选择class模块中的a来作为提取的目标的判定条件:<a href="http://mil.news.sina.com.cn/"><span class="titName ptn_05">军事</span></a>
DATA = set() #创建一个set集合
Cookies = ['军事', '教育', '科技', '文化'] #创建一个目标提取项目
for link in alink:
if link.text in Cookies: #alink中包含了所有的以a开头的class文本,link.text提取了其中一个link的文本内容
Temp = 'The title of link '+link.text+' is :'+link['href'] #使用link['herf']来取herf对应的字典字符串,也就是对应的链接
DATA.add(Temp) #在DATA数据中加入满足正则要求的文本文件
for Info in DATA:
print(Info)
Check = input('Please input the content you want to see:')
Str = ''
for W in list(DATA):
if W.find(Check) != -1:
Str = Str + W + '\n'
File = open('C:\\Users\\Administrator\Desktop\Python爬虫准备\demo\Info1.txt', 'w') #将取得的文件写入到文件夹当中
File.writelines(Str)
File.close() HTML = 'http://book.weibo.com/newcms/tp_p4c51t160.html'
res = requests.get(HTML)
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text, 'html.parser')
title = soup.select('.S_title')
print(title[0].text)
content = soup.select('.S_explain')
print(content[0].text)
Count = soup.select('.book_vote')
Bname = soup.select('.book_name')
Aname = soup.select('.book_author')
Blink = soup.select('a')
Info = ''
for i in range(len(Bname)):
Info = Info + Bname[i].text + '-->' + Aname[i].text + '(' +\
Count[i].text.replace(' ', '') + ')' + '--link:' +\
Blink[i*4]['href']+'\n\n'
print(Info)
Data = title[0].text + '\n' + content[0].text + '\n' + Info
F = open('C:\\Users\\Administrator\Desktop\Python爬虫准备\demo\Info2.txt', 'w')
F.writelines(Data)
F.close() Init_link = 'https://www.douyu.com/directory/all'
Data = requests.get(Init_link)
Data.encoding = 'utf-8'
soup = BeautifulSoup(Data.text, 'html.parser')
Res = soup.select('.mes')
Count = soup.select('p')
for i in Res:
if i.text.find('英雄联盟') != -1:
Str = i.text.replace(' ', '').replace('\n', '')
print(Str)
print(Str[len(Str)-3:len(Str)])
print(len(Res))
对于爬虫,你只需要大概的懂得一些HTML网页的编程就可以了,主要的是要能分析网页的结构,和在每一步中得到的数据的数据形式,是集合set还是字典dict还是列表list或者是字符串,只有清楚的知道数据的类型,才能很好的处理和使用数据信息!
当然,我设想后面来爬取每天的天气信息,通过自己的一些硬件来完成出门前的自动提醒功能,也算是简单的嵌入式智能家居的设计了~
Python简单爬虫记录的更多相关文章
- Python简单爬虫入门三
我们继续研究BeautifulSoup分类打印输出 Python简单爬虫入门一 Python简单爬虫入门二 前两部主要讲述我们如何用BeautifulSoup怎去抓取网页信息以及获取相应的图片标题等信 ...
- Python简单爬虫入门二
接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们Bea ...
- GJM : Python简单爬虫入门(二) [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- Python 简单爬虫案例
Python 简单爬虫案例 import requests url = "https://www.sogou.com/web" # 封装参数 wd = input('enter a ...
- python简单爬虫一
简单的说,爬虫的意思就是根据url访问请求,然后对返回的数据进行提取,获取对自己有用的信息.然后我们可以将这些有用的信息保存到数据库或者保存到文件中.如果我们手工一个一个访问提取非常慢,所以我们需要编 ...
- Python简单爬虫
爬虫简介 自动抓取互联网信息的程序 从一个词条的URL访问到所有相关词条的URL,并提取出有价值的数据 价值:互联网的数据为我所用 简单爬虫架构 实现爬虫,需要从以下几个方面考虑 爬虫调度端:启动爬虫 ...
- python 简单爬虫(beatifulsoup)
---恢复内容开始--- python爬虫学习从0开始 第一次学习了python语法,迫不及待的来开始python的项目.首先接触了爬虫,是一个简单爬虫.个人感觉python非常简洁,相比起java或 ...
- python 简单爬虫diy
简单爬虫直接diy, 复杂的用scrapy import urllib2 import re from bs4 import BeautifulSoap req = urllib2.Request(u ...
- python scrapy简单爬虫记录(实现简单爬取知乎)
之前写了个scrapy的学习记录,只是简单的介绍了下scrapy的一些内容,并没有实际的例子,现在开始记录例子 使用的环境是python2.7, scrapy1.2.0 首先创建项目 在要建立项目的目 ...
随机推荐
- [转载] centos6.x x64 安装python2.7
本文转载自: http://www.centoscn.com/image-text/install/2016/0323/6906.html CentOS的设计理念中有一点是:持久可用.要达到这个目的, ...
- HDU 3264 Open-air shopping malls ——(二分+圆交)
纯粹是为了改进牛吃草里的两圆交模板= =. 代码如下: #include <stdio.h> #include <algorithm> #include <string. ...
- java8 stream ,filter 等功能代替for循环
直接上代码,比较实在. 对象A public Class A{ private Long id; private String userName; ..... ....省略get和set方法 } 在L ...
- UVa 11172 - Relational Operator
题目大意:给两个数,比较大小... #include <cstdio> int main() { int T; scanf("%d", &T); int a, ...
- java设计模式笔记(1)-适配器模式
适配器的定义 适配器就是一个接口转换器,它可以是一个独立的硬件接口设备,允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口.比如:电源适配器.三角架基座转接部件.USB与串口的转接设备等. ...
- Android应用程序组成部分
引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西.本篇的主题如下: 1.应用程序基础 2.应用 ...
- iOS 之 自动释放池
向一个对象发送autorelease消息时,cocoa会将该对象的一个引用放入最新的自动释放池.作用域结束时,自动释放池会被释放,池中所有的对象也就被释放了.
- 2.13.2. 对结果集进行筛选(Core Data 应用程序实践指南)
Core Data通过谓词(NSPredicate)来筛选,比如限定获取的数量等.谓词基本对存储区不敏感,但也有例外,比如:matches可用在 in-memory存储区,但是不能用在SQLite存储 ...
- [bzoj2120][数颜色] (暴力 or 分块)
Description 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜 ...
- Angular Cookies 操作
$cookiesProvider 使用$cookiesProvider改变$cookies服务的默认行为. 默认属性 path:字符串,cookies只在这个路径及其子路径可用.默认情况下,这个将会是 ...