,.?!!?., 2018-01-12 11:43 采纳率: 0%
浏览 1285
已结题

爬虫遇到一个小问题 请大佬们帮帮忙

图片说明我想爬小猪租房网北京地区房源前三页 我的爬虫书上用开发者工具的copyselector 爬取
请问为什么 我的代码运行不对 什么也不显示 我是大一学生不懂什么具体的html css具体规则
基本点完copyselector 就直接粘贴了 不知道是否还要加工一下图片说明

 #encoding:utf-8
from bs4 import BeautifulSoup
import requests
import time

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36'}


def get_links(url):
    wbdata = requests.get(url, headers=headers)
    print(wbdata.status_code)
    soup = BeautifulSoup(wbdata.text, 'lxml')
    links = soup.select('#page_list > ul > li > a')
    for link in links:
        href = link.get("href")
        get_info(href)


def get_info(url):

    wbdata = requests.get(url, headers=headers)
    soup = BeautifulSoup(wbdata.text, 'lxml')
    tittles = soup.select('div.pho_info > h4')
    addresss = soup.select('body > div.wrap.clearfix.con_bg > div.con_l > div.pho_info > p > span')
    prices = soup.select('#pricePart > div.day_l > span')
    for tittle, address, price in zip(tittles, addresss, prices):
        data={'tittle':tittle.get_text().strip(),'address':address.get_text().strip(),'price':price.get_text()}
        print(data)

if __name__ == '__main__':
    urls = ['http://bj.xiaozhu.com/search-duanzufang-p{}-0/'.format(number) for number in range(1, 3)]
    for ursl in urls:
        get_links(ursl)
        time.sleep(2)

  • 写回答

2条回答

  • 脱裤儿任风吹 2018-01-12 12:08
    关注

    我看了一下,是你的address css错误 ,导致zip(tittles, addresss, prices) 出的结果永远都是空的,不会进入打印的那一步

    addresss = soup.select('div.con_l > div.pho_info > p > span') 将css的一行改为这个,再试一下吧

    评论

报告相同问题?

悬赏问题

  • ¥15 优质github账号直接兑换rmb,感兴趣伙伴可以私信
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)