python之获取链接的指定信息

读取txt文件里的链接,然后获取指定信息并保存到excel里
goods_url.txt

http://yangkeduo.com/goods.html?goods_id=230178619423
http://yangkeduo.com/goods.html?goods_id=207210040531
# encoding=utf8

import sys
import requests
import json
import re
from bs4 import BeautifulSoup

reload(sys)
sys.setdefaultencoding('utf8')


def get_info(url):
    '''

    :param urls: 传入的url列表
    :return:  返回得到的数据列表(包括颜色,型号,和图片链接)
    @author:gqy
    '''

    # 设置请求头
    headers = {
        #自己找
    }

    skulist = []
    # 在发送get请求时带上请求头和cookies
    resp = requests.get(url.strip('\n'), headers=headers)
    datas = resp.content.decode('utf-8')
    # print (datas)
    soup = BeautifulSoup(datas, "html.parser")
    data = soup.find_all('script')
    rawData = str(data[6])  # 找到数据包
    # print rawData

    res = re.findall('({.+})', rawData)

    rd = json.loads(res[0].replace("'", ""))
    skus = rd['store']['initDataObj']['goods']['skus']  # 数据包内包含指定信息的内容
    # print skus

    for sku in skus:  # 遍历skus取指定信息,放在列表里
        k = []
        for s in sku['specs']:
            k.append(s['spec_value'])

        #         print s['spec_value']
        k.append(sku['thumbUrl'])
        #     print sku['thumbUrl']
        skulist.append(k)
    print skulist

    return skulist


if __name__ == '__main__':
    with open('goods_urls.txt', 'r') as gr:
        goods_urls = gr.readlines()
    print goods_urls
    for goods_url in goods_urls:
        skulist = get_info(goods_url)
        with open('sku.xlsx', 'a') as sw:
            sw.write(str(goods_url)+'\n')
            for u in skulist:
                for sk in u:
                    sw.write(str(sk) + '\t')
                sw.write('\n')

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值