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

所属分类: 网络编程 / 正则表达式 阅读数: 1613
收藏 0 赞 0 分享

本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取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。

以上所述是小编给大家介绍的正则爬取京东商品信息并打包成.exe可执行程序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

更多精彩内容其他人还在看

正则表达式验证IPV4地址功能实例分析

这篇文章主要介绍了正则表达式验证IPV4地址功能,结合实例形式分析了IPV4地址验证的原理及具体实现技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

正则表达式教程之前后查找lookaround详解

这篇文章主要介绍了正则表达式教程之前后查找lookaround,结合具体问题分析了向前查找及向后查找功能的实现技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

正则匹配密码只能是数字和字母组合字符串功能【php与js实现】

这篇文章主要介绍了正则匹配密码只能是数字和字母组合字符串功能,涉及针对字符、数字等正则操作相关技巧,并给出了php与js实现示例,需要的朋友可以参考下
收藏 0 赞 0 分享

正则验证不能含有中文的实现方法【jQuery与java实现】

这篇文章主要介绍了正则验证不能含有中文的实现方法,结合jQuery与java两种实现方法分析了针对中文的正则验证操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

JS 密码强度校验的正则表达式(简单且好用)

最近在做一个通行证的项目,在项目中有这样的需求,注册模块中输入密码需要显示密码强度,今天小编给大家分享JS 密码强度校验的正则表达式,简单好用,需要的朋友参考下
收藏 0 赞 0 分享

iOS 正则表达式判断纯数字及匹配11位手机号码的方法

这篇文章主要介绍了iOS 正则表达式判断纯数字及匹配11位手机号码的方法,判断手机号码是否正确的方法很多,我是用正则表达式来完成匹配的,具体方法,大家参考下本文
收藏 0 赞 0 分享

正则表达式(简单易懂篇)

正则表达式是一种可以用于模式匹配和替换的强大工具。这篇文章主要介绍了正则表达式(简单易懂篇),需要的朋友参考下
收藏 0 赞 0 分享

正则表达式实现匹配连续数字的方法

我这两天刚刚学正则表达式。我觉的正则对连续的字符匹配很简单,但是对连续的一段数字匹配就不是很好。正好最近有朋友问了匹配连续数字的正则,就帮忙写了一下,算是当作温习一下吧。下面这篇文章就主要介绍了正则表达式实现匹配连续数字的方法。
收藏 0 赞 0 分享

正则表达式简介及在C++11中的简单使用教程

正则表达式(regular expression)是计算机科学中的一个概念,又称规则表达式,通常简写为regex、regexp、RE、regexps、regexes、regexen。接下来通过本文给大家介绍正则表达式简介及在C++11中的简单使用教程,一起通过本文学习吧
收藏 0 赞 0 分享

正则表达式实现最小匹配功能的方法

这篇文章主要介绍了正则表达式实现最小匹配功能的方法,结合具体实例形式分析了正则表达式最小匹配功能的原理与实现技巧,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多