猪八戒网外包信息简单爬取

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LWhello/article/details/80537870

网页分析

我们先打开猪八戒网的首页:猪八戒网 通过网站导航进入一个类似于淘宝界面的网页。
这里写图片描述
这里选取的是数据服务的版块,网址是:数据服务
右键,点击查看网页源代码。
在这个小实验中,我想要的是每个商家的成交量,于是ctrl+F 搜索成交量,找到想要的标签。(注意,要倒回去和网页对比一下定位是否是自己想要的地方)
这里写图片描述
没错,第一个商家的成交量是267,所以这个定位准确。然后我还想要每个商家承包的业务类型。根据分析,这些应该都在这附近。
这里写图片描述
我们先爬这两个信息吧。

代码部分

首先先引进两个关键的库:

import requests
from bs4 import BeautifulSoup

然后获取网页内容并进行解析:

url = "https://www.zbj.com/dashujufuwu/s.html?j=4#j-sort" #设置的需要进行爬取的网址

req = requests.get(url) #利用requests进行请求

bs=BeautifulSoup(req.content,'html.parser')  #利用beautifulSoup进行解析

首先爬取成交量信息:

p_number = bs.find_all('span',attrs={'class':'fr deal'}) #利用了find_all来寻找所有的以span开头,class为'fr deal'的标签
tn=[] #定义一个列表来进行数据存储
for i in p_number:
    totalnumber = i.text  #获取标签的信息
    tn.append(totalnumber) #添加进列表中储存

然后是业务信息:

p_expert = bs.find_all('div',attrs={'class':'expertTags'}) #利用了find_all来寻找所有的以div开头,class为'expertTags'的标签
te=[] #定义一个列表来进行数据存储
for e in p_expert:
    totalexpert = e.text #获取标签的信息
    te.append(totalexpert) #添加进列表中储存

运行之后就可以在右边的变量栏看到内容了。
这里写图片描述
这里写图片描述
可以看到变量名是tnte 类型是list 数量是60 个。双击进去可以看到完整的内容。
这里写图片描述
这就完成了。

完整代码

import requests
from bs4 import BeautifulSoup


url = "https://www.zbj.com/dashujufuwu/s.html?j=4#j-sort"

req = requests.get(url)

bs=BeautifulSoup(req.content,'html.parser') 

p_number = bs.find_all('span',attrs={'class':'fr deal'}) #利用了find_all来寻找所有的以span开头,class为'fr deal'的标签
tn=[] #定义一个列表来进行数据存储
for i in p_number:
    totalnumber = i.text  #获取标签的信息
    tn.append(totalnumber) #添加进列表中储存

p_expert = bs.find_all('div',attrs={'class':'expertTags'}) #利用了find_all来寻找所有的以div开头,class为'expertTags'的标签
te=[] #定义一个列表来进行数据存储
for e in p_expert:
    totalexpert = e.text #获取标签的信息
    te.append(totalexpert) #添加进列表中储存

#####价格#####
p_price = bs.find_all('span',attrs={'class':'fl text-overflow service-content-price'})
tp=[]
for p in p_price:
    price = p.text
    tp.append(price)

#####地点#####
p_location = bs.find_all('span',attrs={'class':'location fr'})
tl=[]
for l in p_location:
    location = l.text
    tl.append(location)

#####店主#####    
p_shopper = bs.find_all('span',attrs={'class':'desc fl'})
ts=[]
for s in p_shopper:
    shopper = s.text
    ts.append(shopper)
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页