ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

正则爬取京东商品信息并打包成.exe可执行程序。

2019-08-09 09:05:37  阅读:204  来源: 互联网

标签:商品信息 pyinstaller 可执行程序 爬取 headers params response page


---恢复内容开始---

 本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页)

代码如下;

import requests
import re
# 请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
}

def get_all(url,key):
    for page in range(1,200,2):
        params = {
            'keyword':key,
            'enc':'utf-8',
            'page':page
        }
        num = int((int(page)+1)/2)
        try:
            response = requests.get(url=url,params=params,headers=headers)
            # 转码
            content = response.text.encode(response.encoding).decode(response.apparent_encoding)
            data_all = re.findall('<div class="p-price">.*?<i>(.*?)</i>.*?<div class="p-name p-name-type-2">.*?title="(.*?)"'
                                  '.*?<div class="p-shop".*?title="(.*?)"',content,re.S)
            for i in data_all:
                with open(key + '.txt', 'a+', encoding='utf-8') as f:
                    f.write('店铺名称:' + i[2]+'\n'+'商品名称:'+i[1]+'\n'+'价格:'+i[0]+'\n\n')
                print('第'+str(num)+'页'+'数据下载中....')
        except Exception as e:
            print(e)


if __name__ == '__main__':
    print('输入要搜索的内容,获取京东商城里面的商品名称,店铺名称,商品价格')
    key = input('输入搜索内容:')
    url = 'https://search.jd.com/Search?'
    get_all(url,key)

打包成.exe可执行文件。

需要用到pyinstaller包pip下载;

pip install pyinstaller

在线制作一个.ico图标,用来当程序图片,把图标和程序放在同一个文件夹下,

 

 

在.py文件目录下打开命令行窗口,执行打包命令;

E:\练习\最后阶段\0808\jd1>pyinstaller -F -i 01.ico jd.py

 

 

---恢复内容结束---

 本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取100页(共100页)

代码如下;

import requests
import re
# 请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
}

def get_all(url,key):
    for page in range(1,200,2):
        params = {
            'keyword':key,
            'enc':'utf-8',
            'page':page
        }
        num = int((int(page)+1)/2)
        try:
            response = requests.get(url=url,params=params,headers=headers)
            # 转码
            content = response.text.encode(response.encoding).decode(response.apparent_encoding)
            data_all = re.findall('<div class="p-price">.*?<i>(.*?)</i>.*?<div class="p-name p-name-type-2">.*?title="(.*?)"'
                                  '.*?<div class="p-shop".*?title="(.*?)"',content,re.S)
            for i in data_all:
                with open(key + '.txt', 'a+', encoding='utf-8') as f:
                    f.write('店铺名称:' + i[2]+'\n'+'商品名称:'+i[1]+'\n'+'价格:'+i[0]+'\n\n')
                print('第'+str(num)+'页'+'数据下载中....')
        except Exception as e:
            print(e)


if __name__ == '__main__':
    print('输入要搜索的内容,获取京东商城里面的商品名称,店铺名称,商品价格')
    key = input('输入搜索内容:')
    url = 'https://search.jd.com/Search?'
    get_all(url,key)

打包成.exe可执行文件。

需要用到pyinstaller包pip下载;

pip install pyinstaller

在线制作一个.ico图标,用来当程序图片,把图标和程序放在同一个文件夹下,

 

 

 

 

在.py文件目录下打开命令行窗口,执行打包命令;

E:\练习\最后阶段\0808\jd1>pyinstaller -F -i dog.ico jd.py

出现successfully表示打包成功;

27525 INFO: Building EXE from EXE-00.toc completed successfully.

可执行程序在当前文件夹下的dist文件夹下;

运行效果;

可同时执行多个程序;

输出结果;

done。

 

标签:商品信息,pyinstaller,可执行程序,爬取,headers,params,response,page
来源: https://www.cnblogs.com/nmsghgnv/p/11324959.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有