【引言】

最近有点时间,而且小丸子又逼的紧,所以想着还是写点什么东西吧,比较巧,手上的一个项目快要开发完了(大家可以看之前的一篇:“在默哀魏则西的同时,我们外贸人员在搜索引擎上还有选择吗?”),我们团队针对文章中提到的想法已经进行了实现,近期就会上线,另外我们还围绕这个命题进行了一系列的扩展工具开发,其中最重要的就要“邮箱自动抓取功能”,当然那个功能属于商用功能,需要购置一批额外的硬件设备才能工作。

商用管商用,但本ID实际上今天想在这里给大家上几节课,教学目标基本围绕着“怎样自己开发一个邮箱抓取工具”,尽量做到简单易懂,让大家都能愉快的上手,最主要是不花钱,但考虑到大家毕竟不都是科班出身,而且女生占了我们微信粉丝的大半江山(说到这里了,我们是不是考虑要开发个外贸婚介功能啊,哈哈),所以在方法精细度上删减了很多,以后等大家水平都上去了,我们再慢慢补回来。另外本课程需要各位有一定的动手能力,最起码会照着打字吧,再不行去找个程序GGMM回来。

还有,这里有些建议对于第一次上课的同学,想要最快,最好的完成本节课程,你可以这么做:

1. 很快速的通读一遍这篇文章,如果你确定文章最后展现的那个结果你是想要的,那么做第二步

2. 很慢的细读一遍,读完后脑子里已经对需要做的事情有个明确了解了,也能明白操作顺序是怎么衔接的,然后进入第三步

3. 打开电脑,照着手机的步骤一步步细心的执行,同时心里默念“52wmb52wmb52wmb

【环境搭建】

开发工具选择,我们这里有学程序半路出家的吧,或者大家也多多少少听到过一些程序语言的名字吧,例如C,JAVA(安卓的开发语言),PHP(外贸建站的基本都用这个)等等等等,这些是很好很强大,但我们今天不用,理由是太复杂了,如果本ID今天用上面这些东西来上课,那我们这个微信号就可以改名字了,叫“程序这点事”好了,杀鸡岂能用牛刀,今天要用的是瑞士军刀-PYTHON,其实本来还有一个更好的选择RUBY,但那个东西是小日本搞出来的,本ID只接受日本的两样东西,所以还是算了。下载地址在这里: https://www.python.org/downloads/release/python-2712/,下截图里的这个版本:

第一课:2秒钟内获取50个邮箱

下载下来的是这个文件“python-2.7.12.msi”,下不下来的也没关系,文章最后有网盘双击运行,特别注意的是在组件选择的那页需要把一个关闭的选项打开来,别的界面一路next,有黑色弹出窗口也不要关闭,装完自动会关闭,碰到系统弹出问题你“是”或“否”,都选“是”,参照下图安装示意操作:

图一: 点next

图二: 点next

图三:右侧下拉条往下拉,拉到能看到中间红色椭圆的内容显示出来

图四:鼠标点击红色椭圆处,出现下拉菜单

图五:鼠标移到下拉菜单的第二条 Entire feautre will .......... 这行,点击确定

图六:检查中间那个红椭圆是不是已经和上图一致了,点next

图七:点了图六的next后,系统会弹出问你“确定”或“取消”,因为是系统界面,截不了图,记住点“确定”就是了,然后就会出现图七的进度条

图八:结束画面

装完后(就是最后点了Finish),程序自己关闭,然后我们需要运行“命令提示符”,可以直接在开始菜单的“运行”中输入CMD,或者在所有应用里找到下面的这个,再找不到问问同事,总会有人知道的,下面第一个截图是windows10的入口,第二个是windows7的入口:


启动“命令提示符”后,按照下面命令分别输入

pip install requests  (回车,然后等下面第一个图一样的结果出来)

pip install beautifulsoup4  (回车,参照下面第二个图)

另外如果提示你“pip 不是有效的命令”这种文字,重启下电脑再执行命令就好了,这是windows的bug,但不是每一个人都会碰到的:

动手能力强的同学看到黄色字了么,这个是告诉我们要升级版本(不升级也没关系),照着打python -m pip install --upgrade pip 就可以了,女同学可以无视。

恭喜你,到这里本课程的2/3已经上完了,其实上面这些东西倒翻个5年,装什么软件基本都是这样的,只不过现在大家都懒了,也被那些个大软件绑架习惯了,像什么360,QQ之类的,装一个基本就给你自动装一批了,有好也有不好的地方。至此,PYTHON已经正确的安装和配置完成了,可以把显示屏上所有新开出来的窗口都关闭了,就像什么也没发生过一样。同学们也不用看上面这么多截图感到怕怕,其实实际操作起来,也就是3分钟的事情,碰到问题大不了从头来一遍好了,没什么可怕的,重要的是敢于实际操作,我们外贸都搞了,还怕个毛线程序啊,对吧。

【运行第一个脚本】

本节课的剩下部分就是教你运行第一个脚本了,其实这是个奖励关卡,因为我们现在什么都不懂,所以本ID就省掉了教大家一条条命令输入了,只要运行本ID给你们的这个文件就可以马上看到结果---2秒50个邮箱,也算是奖励各位同学顺利完成搭建运行环境这部分。去文章最后的网盘中下载class_1.py这个文件到计算机本地,放哪里无所谓,但记住位置,比如我们现在就把这个文件存到了“桌面“上,然后我们鼠标右键点击这个文件,在弹出的菜单中选择“Edit with IDLE”


然后我们就会看到以下这个界面了,里面充实着很多现在看不懂的语言,不要急,我们现在不需要全看懂,只要知道这就是今天最后我们要运行的这个脚本就可以了,通过运行它,我们可能就会感叹“我TMD的之前累死累活的找邮箱到底是为了什么?”

注意,我们最后还需要修改一点东西才能符合你想要的,很简单的,看到key =u'Ferreyros Saa'这行字了吗,这是本ID随便输入的一家公司名字,你可以换成任何你想搜索的公司名字或者产品关键字,比如我想搜LED,那么这行文字可以变成 key = u'led',想要更多的公司名字或者产品关键字,来www.52wmb.com吧,好了,这就是今天你所需要知道的全部东西了,最后让我们一起来见证奇迹,我们搞了这么久不就是为了这高的一刻吗?(还看到email = u'hotmail.com'这行吗?聪明的你应该想到这是干嘛的,后面有提示)

最后一步,按下键盘的F5快捷键,如果有任何弹出界面问你确定或者取消,老规矩,都点确定!看到了吗?本ID没有骗你们吧,是不是出现了一个新的窗口,里面打印出了很多邮箱啊,看下面结果图(也是今天最后一张图了)

感谢你能耐心看到这里,如果你能在电脑上运行出和本ID一样的界面,我会真的感到很欣慰,因为程序界的明天可能又多了一个天才或者软妹子,当然对于你自己来说,如果今天这些东西可以把你的工作效率提高一倍以上,本ID会非常非常非常的为你开心的。还有,所有完成本课程的同学都在评论里签到一下吧,这样会鼓励更多的同学去实践,去尝试。

【课后作业】

1. 实际抓取的邮箱数并没有到50个(根据关键字不同,数量会不同),如果我想抓1000个怎么办?

2. 为什么抓取的都是hotmail的邮箱,我如果想同时抓gmail和yahoo怎么办?(注意,是同时抓取,如果你想一类一类分开来抓取,只需要修改脚本里的email字段就可以了)

3. 为什么是bing,而不是google,能改吗?

4. 我想直接导出EXCEL,可以吗?

5. 能不能直接就给这些邮箱自动发询盘邮件呢?

这些作业也是我们以后会上课的内容,大家可以先想想,如果能自己动手解决里面的2个问题以上的同学,而又想以后转行做程序的,请务必给本ID留言。

百度网盘: http://pan.baidu.com/s/1mi2d1Ba

第二课:从50个邮箱到1000个:http://yue.52wmb.com/article/1994

第三课:从google抓取邮箱:http://yue.52wmb.com/article/1995


声明:该文观点仅代表作者本人,邦阅网系信息发布平台,邦阅网仅提供信息存储空间服务。

下一篇
107
分享至:
投稿邦号
评论
登录 后参与评论
  • leccab
    leccab

    您好,试了几个,F5后没有结果,请问KEY的公司名适合其他国家语言吗?

    2019-01-17
    邦号回复

    会有影响,建议用英文,第一课因为考虑到国情所以用了bing来搜索,如果学到第三课而且又能玩通的话,就可以更改google的默认地址达到搜索某国家的目的了

    2019-01-17
  • 外贸人sira
    外贸人sira

    安装了好几次一直都是这样
    Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>>
    ================= RESTART: C:\Users\acer\Desktop\class_1.py =================

    Traceback (most recent call last):
    File "C:\Users\acer\Desktop\class_1.py", line 9, in <module>
    import requests
    ImportError: No module named requests
    >>>


    显示这样,没了

    2019-01-09
    邦号回复

    贴个 pip install requests 后的提示文字给我看看

    2019-01-10
  • 外贸人sira
    外贸人sira

    ython 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>>
    ================= RESTART: C:\Users\acer\Desktop\class_1.py =================

    Traceback (most recent call last):
    File "C:\Users\acer\Desktop\class_1.py", line 9, in <module>
    import requests
    ImportError: No module named requests



    这样子是那步错了?

    2019-01-08
    邦号回复

    pip install requests 这步错误了,看看之前执行的时候有没有报错信息,我估计多数是因为这个库没有下载下来,可以参照后面的离线安装方法。

    2019-01-09
  • 外贸人sira
    外贸人sira

    ython 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>>
    ================= RESTART: C:\Users\acer\Desktop\class_1.py =================

    Traceback (most recent call last):
    File "C:\Users\acer\Desktop\class_1.py", line 9, in <module>
    import requests
    ImportError: No module named requests
    >>>

    这是什么问题?下载成功了,可是搜索是这样的

    2019-01-08
  • 外贸人sira
    外贸人sira

    结果:ImportError: No module named,为什么

    2019-01-06
    邦号回复

    这是什么错误。。。贴个完整的看看

    2019-01-07
  • 邦友1545204851336
    邦友1545204851336

    结果:ImportError: No module named bs4, 为啥啊?

    2019-01-05
    邦号回复

    没有正确安装bs4,按照操作步骤一步步来,一步都不能省

    2019-01-06
  • Robin(王晓鹏)-steel exporter
    Robin(王晓鹏)-steel exporter

    Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>>

    这个是什么意思?我的电脑不适合这个版本吗?看到黄色的字后我升级了!
    运行这个的话需要先翻墙吗?

    2018-12-03
    邦号回复

    这就是个运行环境启动时候的提示信息,告诉你版本号和当前环境什么的,至于翻墙只有第三课才会用到。

    2018-12-03
  • 一叶子@宠爱
    一叶子@宠爱


    Exception:
    Traceback (most recent call last):
    File "c:\python27\lib\site-packages\pip\basecommand.py", line 209, in main
    status = self.run(options, args)


    按照提示,黄色字体上面的字应该是黑色的,我电脑出现的是红色的字体,而且提示语也不同。重新启动,按提示操作也是如此,求解

    2018-12-03
    邦号回复

    提示什么了?

    2018-12-03
  • Daniel_Zou
    Daniel_Zou

    接连几次抓取成功,后来就一直不出现任何结果,也未报错。是什么原因?

    2018-11-25
    邦号回复

    尝试更换时间段和关键字,如果确定自己没有动过什么别的东西,那就是被搜索引擎暂时屏蔽了,可以考虑用浏览器开搜索网站,手动搜同样的词进行解锁尝试。

    2018-11-25
  • Daniel
    Daniel

    换了一下关键词 这是个什么情况呢 谢谢 下面这些字在那里是红色的
    Traceback (most recent call last):
    File "C:\Users\Administrator\Downloads\class_1.py", line 31, in <module>
    ret = requests.get(u'http://www.google.com/search', params=par, cookies=cookies)
    File "C:\Python27\lib\site-packages\requests\api.py", line 75, in get
    return request('get', url, params=params, **kwargs)

    2018-11-14
    邦号回复

    你这是第三课的代码吧,这里要设置代理服务器的,之前不用google,用bing搜索什么的都正常吗?

    2018-11-14
  • Daniel
    Daniel

    为何我F5以后一个邮箱也没有...是哪里出问题了吗 麻烦看看我的问题吧谢谢!

    2018-11-13
    邦号回复

    这个。。。代码有没有报错?或者有没有别的提示?

    2018-11-13
  • Vicky
    Vicky

    第一次不行,升级了python -m pip install --upgrade pip之后我再重新输入pip install beautifulsoup4 ,只能搜出5个在关键词为mould设定下,邮箱后缀为gamil的邮箱。
    有几个问题希望小编不要嫌我烦:
    1.key = u'特定公司'关键词我输入了想要查找的特定公司,邮箱后缀也改为email = u'whitefurze.net'客户公司邮箱的形式,然后bing改为google,但是搜不出结果....我要打开电脑上的VPN吗?

    2018-11-02
  • mono1
    mono1

    都照做了,但是做后的邮箱没有是怎么回事啊

    2018-10-01
    邦号回复

    检查关键词,检查网络,检查邮箱后缀,还有最重要的,去网盘里下载最新的脚本文件

    2018-10-06
  • 喔吁喔吁
    喔吁喔吁

    多谢大神关于楼下问题的赐教

    在此再请教一下 如果我想搜索除了gmail, hotmail和yahoo之外的邮箱该怎么改写代码?
    例如我需要搜索出来的邮箱后缀里边包含类似plastic.com(真实的邮箱是@fullplastic.com或者@realplastic.com等等),那么应该用什么样的通用符呢?是 *plastic.com这样吗?

    email = [u'*plasticos.com',u'*plast.com'] 这样写试了试 搜不出来邮箱

    2018-09-23
    邦号回复

    现在的逻辑处理不了通配符,建议用明确的邮箱后缀指向来搜索(也就是不需要添加*),另外适当的加大点want数值也会增加返回结果

    2018-09-25
  • 喔吁喔吁
    喔吁喔吁

    修改:
    # 搜索关键字
    location = India
    key = u'pvc'

    返回结果:
    Traceback (most recent call last):
    File "G:\emails\class_3.py", line 16, in <module>
    location = India
    NameError: name 'India' is not defined

    请问这怎解解

    2018-09-20
    邦号回复

    我的错,之前写错了,应该是在搜索词后加 location:countryname 这种格式,为了弥补我的错,直接上代码,找到第三课脚本中的process_google方法中的 【u'q': u'%s @%s' % (key, e),】 这行,改成这种 【u'q': u'%s location:china @%s' % (key, e),】就可以了,根据自己需要更改china这个值吧

    2018-09-21
爱心公益
举报
问题反馈
返回顶部