Python学习笔记(5):爬取一页商品数据

我的代码

from bs4 import BeautifulSoup
import requests
import time


#获取产品链接
def get_links_from(who_sells):
    links = []
    urls = ['http://bj.58.com/pbdn/{}/pn{}/'.format(who_sells,i) for i in range(1,10)]
    for signal_url in urls:
        wb_data = requests.get(signal_url)
        time.sleep(5)     #避免访问频率过高,被网站反爬取
        if wb_data.status_code == 200:
            soup = BeautifulSoup(wb_data.text, 'lxml')
            for link in soup.select('td.t a.t'):
                links.append(link.get('href'))
    return links

def get_detail(who_sells=0):
    urls = get_links_from(who_sells)
    for url in urls:
        wd_data = requests.get(url)
        soup = BeautifulSoup(wd_data.text, 'lxml')
        
        #在浏览器的代码检查中灵活利用搜索定位元素位置,缩减代码长度
        catalogs = soup.select('div > span > a')
        titles = soup.select('.info_titile')
        prices = soup.select('.price_now i')
        tags = soup.select('.biaoqian_li')
        ranges = soup.select('.palce_li span i')
        views = soup.select('.look_time')
        
        #因为本例中select返回列表中只有一个元素,可以直接在字典中赋值,如price[0]
        for catalog, title, price, tag, range,view in zip(catalogs, titles, prices, tags, ranges,views):
            data = {
                'catalog': catalog.get_text(),
                'title': title.get_text(),
                'price': price.get_text(),
                'tag': tag.get_text(),
                'range': range.get_text(),
                'view': view.get_text(),
            }
            print(data)

#根据传入参数抓取不同数据,0代表个人(默认),1代表商家
get_detail()

总结

  • select方法返回的是一个列表
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,714评论 18 399
  • 2017/3/14 RDBMS:关系型数据库管理系统 关系模型独立于语言 SQL有几种不同类型的语言:数据定义语言...
    ancherl阅读 5,614评论 0 6
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,858评论 25 709
  • 这几日小城的天气是特别的,以往四季如春的小镇冬季不飘雪,前一次下雪可是20年前,当时珍妮都还没出生,用本地婶婶们的...
    虾飞飞阅读 2,910评论 0 1
  • 2016年5月4日,福建省信息进村入户试点工作培训班在农业厅会议室举办。 会议由农业厅市场信息处领导主持,各设区市...
    义田农场阅读 2,910评论 0 0

友情链接更多精彩内容