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

 更新时间:2019年08月09日 10:34:45   作者:记住我忘记我  
这篇文章主要介绍了正则表达式爬取京东商品信息并打包成.exe可执行程序的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

本文爬取内容,输入要搜索的关键字可自动爬取京东网站上相关商品的店铺名称,商品名称,价格,爬取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可执行程序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • PHP正则表达式完全教程之基础篇

    PHP正则表达式完全教程之基础篇

    正则表达式是烦琐的,但是强大的,学会之后会让你除了提高效率外,会给你带来绝对的成就感.正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
    2015-09-09
  • 2019年前端必用js正则(小结)

    2019年前端必用js正则(小结)

    这篇文章主要介绍了2019年前端必用js正则,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • php 手机号码验证正则表达式

    php 手机号码验证正则表达式

    php中用了验证手机号码的正则表达式,除了11位限制外,还增加了数字判断,更符合标准。
    2011-07-07
  • RegExp对象的方法和属性

    RegExp对象的方法和属性

    RegExp对先看整个字符串是不是匹配,如果没有发现匹配,先去掉最后字符串中的最后一个字符,并再次尝试,如果还没有发现匹配,那么再次去掉最后一个字符,这个过程会一直重复下去直到发现匹配或不剩任何字符串,上面的简单量词都是贪婪量词。
    2008-06-06
  • 详解Java判断是否是整数,小数或实数的正则表达式

    详解Java判断是否是整数,小数或实数的正则表达式

    这篇文章主要介绍了详解Java判断是否是整数,小数或实数的正则表达式,非常具有实用价值,需要的朋友可以参考下。
    2016-12-12
  • PHP和正则表达式教程集合之二

    PHP和正则表达式教程集合之二

    PHP和正则表达式教程集合之二...
    2007-03-03
  • 匹配URL的正则表达式(推荐)

    匹配URL的正则表达式(推荐)

    正则表达式(regular expression)描述了一种字符串匹配的模式。本文重点给大家介绍匹配url的正则表达式,感兴趣的朋友一起学习吧
    2016-11-11
  • 深入浅析正则表达式 捕获组

    深入浅析正则表达式 捕获组

    捕获组(capturing group)是正则表达式里比较常用,也是比较重要的概念,我个人觉得掌握这部分的知识是非常重要的,感兴趣的朋友跟随小编一起看看吧
    2019-04-04
  • 正则表达式中的 .*? 或 .*+ 的意思

    正则表达式中的 .*? 或 .*+ 的意思

    正则表达式,又称规则表达式是计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。本文重点给大家介绍正则表达式中的 .*? 或 .*+ 的意思 ,感兴趣的朋友一起看看吧
    2020-05-05
  • asp match正则函数使用Matchs实例

    asp match正则函数使用Matchs实例

    asp matchs函数提供了对正则表达式匹配的只读属性的访问。一直都用这个函数,没想到本站竟然没有这类文章,汗一个,最近我会多加一些这样的文章
    2008-08-08

最新评论