当前位置: 移动技术网 > IT编程>脚本编程>Python > python简易爬虫v1.0

python简易爬虫v1.0

2020年07月12日  | 移动技术网IT编程  | 我要评论

python简易爬虫v1.0

作者:William Ma (the_CoderWM)

进阶python的首秀,大部分童鞋肯定是做个简单的爬虫吧,

众所周知,爬虫需要各种各样的第三方库,例如scrapy, bs4, requests, urllib3等等。此处,我们先从最简单的爬虫开始。

首先,我们需要安装两个第三方库:requests和bs4。
在cmd中输入以下代码:

pip install requests
pip install bs4

等安装成功后,就可以进入pycharm来写爬虫了。


爬虫

首先导入刚刚安装好的包,代码如下:

import requests
from bs4 import BeautifulSoup

接着,我们要定义一个URL常量,用来存储要爬虫的链接,这个链接我们就设置成厦门链家的租房网站;

URL = "https://xm.lianjia.com/zufang/"

Bs4和requests这时就要大展身手啦,我们要先定义一个函数,用来获取网站的源代码;

def get_page(url):
    """
	    获取网页
    """
    response = requests.get(url)
    soup = BeautifulSoup(response.text, "lxml")
    return soup

这里的response是获取网页的一个信息返回值,这个返回值的text就是网页的源代码,这里使用BeautifulSoup对代码以lxml的格式进行解析,并返回解析后的结果。
链家租房网站
要想把租房的某个价格一一获取下来,还得我们的f12(检查)来帮忙。
打开链接后按下Fn+F12, 右侧就会弹出这样一个侧边栏:
F12
单击左上角的小箭头,再移到页面上任意一个租房的价格,点击一下,细心的童鞋就会注意到,右侧代码的位置已经发生了变化。仔细观察,可以发现网页上的“1300元\月”的文字。那么,怎么把它获取下来呢?

注意看,1300上方的标签是“span”, 类的名称是“content__list–item-price”。将类名复制,重新回到我们的编辑器中,写以下几行代码:

soup = get_page(URL)
price_lst = soup.find_all("span", class_="content__list--item-price")
for i in price_lst:
    print(i.text)

一行一行来解释一下:

第一行指我们要从刚刚定义的函数中得到网页源代码,

第二行指从网页源代码中搜索类名为“content__list–item-price”且标签为span的类,注意,class后一定要跟一个下划线,因为class是python定义类的关键字,不能用来作为参数名。此时price_lst是一个列表,里面存储着所有符合条件的类源代码。

第三行使用for循环对这个lst进行遍历,同时打印出列表中每个元素的文本。

运行结果是这样的:
1300 元/月
1400-1760 元/月
1700 元/月
1500 元/月
1700 元/月
2699 元/月
1200 元/月
1250 元/月
1100 元/月
1800 元/月
1750 元/月
1800 元/月
1700 元/月
1100 元/月
1200 元/月
1000 元/月
1500 元/月
1100 元/月
1100 元/月
400 元/月
1750 元/月
1249 元/月
1550 元/月
1500 元/月
600 元/月
2650 元/月
800 元/月
2000 元/月
1800 元/月
1900 元/月
1600 元/月
1600 元/月
1900 元/月

进程已结束,退出代码0


这样,我们的第一个简易爬虫就大功告成了,但是,如何将这些内容进行一个比较呢?下期内容将为您揭晓。


原创不易,求打赏 :)

关于我:11岁小学生,马上六年级了,喜欢个人研究一些python和c++的编程内容。

本文地址:https://blog.csdn.net/the_CoderWM/article/details/107246238

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网