首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于python3.6的静态爬虫——爬取百度新闻(上)

目录

一、爬虫准备

二、python语法

三、分析

四、开始爬虫

一、爬虫准备

1.审查元素

在chrome浏览器中打开百度,右键选择“检查”,可看到网页的html信息,而爬虫则是根据网页的html来得到有用的信息。

图1-审查元素

我们可以通过双击标签的方式修改相应的属性值,比如我们将输入框的text类型修改为password,那么我们输入的时候将会以密码的方式呈现。然而我们修改的东西是静态的,最终不会修改到服务器上,所以刷新后会恢复原样。

图2-修改后的效果

2.requests

requests用来获取网页的html信息

官方文档:

http://www.python-requests.org/en/master/

中文文档:

http://docs.pythonrequests.org/zh_CN/latest/user/quickstart.html

安装方法:

在命令行中运行以下指令:

pip install requests

3.BeautifulSoup

BeautifulSoup用来解析html信息,根据html标签获取所需内容

中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html

安装方法——在命令行中运行:

pip install BeautifulSoup

4.静态与动态爬虫

静态爬虫:获取的信息不是通过与服务器交互而得到的,这类信息可以直接获取。

动态爬虫:网页通过JavaScript发送get请求,与服务器进行交互,进而得到返回的信息。

二、python语法

python学习可以参考runoob菜鸟教程:

http://www.runoob.com/python3/python3-tutorial.html

这里只提几点:

1. python不使用”;”和”{}”,而是采用严格的缩进方式,如果缩进不对,就会报错

2.在python中,strings, tuples,和numbers是不可更改的对象,而list,dictionary等则是可以修改的对象。

字符string str =“this is string”

列表list list = [0,1,2,3,4,5]

元组tuples tuple = (0,1,2,3,4,5)

字典dictionary dic = {“key”:”value”}

3.面向对象

类中的函数必须有一个额外的第一参数,命名一般为self,self代表类的实例。

__init__(self)是一个构造函数,可带参,也可不带参

class test: #创建test类

list = [] #定义列表

num = 0

def __init__(self, ele, num):

self.list.append(ele) #向列表中添加元素

self.num = num

print("带参函数")

if __name__ == '__main__': #程序入口

t = test("test", 10) #创建实例,传入参数

不带参的构造函数如下

def __init__(self):

print(“无参函数”)

4.range()函数

用于循环函数中,控制循环次数

for i in range(4):

print(i) #输出0,1,2,3

for i in range(1,11):

print #输出1-10

5.迭代器

迭代器为iter(),建立迭代器可以实现遍历

list = [0,1,2,3]

it = iter(list)

for i in it:

print(i)

(未完待续)

琴子的喵窝∣分享文化,生活

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180205G0184A00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券