python(四)

批量获取链接 定义函数

from bs4 import BeautifulSoup
import requests

url = 'http://bj.xiaozhu.com/fangzi/1508951935.html'
wb_data = requests.get(url)
soup = BeautifulSoup(wb_data.text,'lxml')

title = soup.select('.pho_info > h4 > em')
address = soup.select('.pho_info p')[0].get('title')
pricePart  = soup.select('#pricePart > .day_l > span')[0].text
img = soup.select('#curBigImage')[0].get('src')

host_name = soup.select('.lorder_name')[0].get('title')
host_gender = soup.select('.js_box .w_240 h6 span')[0].get('class')[0]



# print(title)
# print(address)
# print(pricePart)
# print(img)
#
# print(host_name)
# print(host_gender)

# 根据结果观察不同性别会用不同的图标样式(class),设计一个函数进行转换
def print_gender(class_name):
    if class_name == 'member_girl_ico':
        return '女'
    if class_name == 'member_boy_ico':
       return '男'



data = {
    'title':title,
    'address':address,
    'price':pricePart,
    'pic':img,
    'host_name':host_name,
    'host_gender':print_gender(host_gender)
}

print(data)



# -------------------补充------------------
# 如何批量获取链接

page_link = [] # <- 每个详情页的链接都存在这里,解析详情的时候就遍历这个列表然后访问就好啦~

def get_page_link(page_number):
    for each_number in range(1,page_number): # 每页24个链接,这里输入的是页码
    full_url = 'http://bj.xiaozhu.com/search-duanzufang-p{}-0/'.format(each_number)
    wb_data = requests.get(full_url)
    soup = BeautifulSoup(wb_data.text,'lxml')
    for link in soup.select('a.resule_img_a'): # 找到这个 class 样为resule_img_a 的 a 标签即可
        page_link.append(link)

# ---------------------



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值