##########################################################

小编提示:2.0新版已经发布 https://www.52by.com/article/34167

##########################################################

【引言】

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

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

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

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

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

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

【环境搭建】

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

下载下来的是这个文件“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',想要更多的公司名字或者产品关键字,来xxx_52xg/_okg吧,好了,这就是今天你所需要知道的全部东西了,最后让我们一起来见证奇迹,我们搞了这么久不就是为了这高的一刻吗?(还看到email = u'zklgr=d_okg'这行吗?聪明的你应该想到这是干嘛的,后面有提示)

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

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

【课后作业】

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

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

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

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

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

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

课件下载:https://www.52by.com/file_download/2826

第二课:从50个邮箱到1000个:https://www.52by.com/article/1994

第三课:从google抓取邮箱:https://www.52by.com/article/1995

2019.6.6 更新:所有同学请去网盘下载新的脚本,运行的时候需要先在cmd里多安装一个库 "pip install fake_useragent" (引号不要输入)

2019.7.28 更新:由于bing对搜索限制的加强,太频繁的单IP搜索都会时不时的没有结果,对于这个课题已经严重超过了这个课程的范围,这里不再对此类问题做解答,这里给一个思路,所有的根源都是出在单IP上,要么换一个,要么模拟用户行为进行老老实实的搜索,对于只是想学习本课程基本思想的同学,为了能正常运行程序,本ID这里也给出一个笨办法,重新去网盘里下载第一课的文件,运行后会出现一个搜索网址,见下图:

如果没有搜索结果的时候,把红框内的地址贴到浏览器先运行一下,然后再运行程序就会有结果出现了,原理也就是上面说的,浏览器里执行一下,告诉bing这个ip过来的搜索是安全的,不要干我 ...

原文来自邦阅网 (52by.com) - www.52by.com/article/1993

声明:该文观点仅代表作者本人,邦阅网系信息发布平台,仅提供信息存储空间服务,若存在侵权问题,请及时联系邦阅网或作者进行删除。

评论
登录 后参与评论
发表你的高见
  • 色强

    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: D:\BaiduNetdiskDownload\我们都是程序员\class_3.py =========

    Traceback (most recent call last):
    File "D:\BaiduNetdiskDownload\我们都是程序员\class_3.py", line 11, in <module>
    import requests
    ImportError: No module named requests
    >>>

    2020-07-11
  • 维邦林林

    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: D:\class_1.py ===========================

    Warning (from warnings module):
    File "C:\Python27\lib\site-packages\bs4\element.py", line 16
    'The soupsieve package is not installed. CSS selectors cannot be used.'
    UserWarning: The soupsieve package is not installed. CSS selectors cannot be used.

    Traceback (most recent call last):
    File "D:\class_1.py", line 11, in <module>
    from fake_useragent import UserAgent
    ImportError: No module named fake_useragent
    >>>
    出来是这样的,是哪里出了问题?

    2020-03-30
    邦号回复

    没有正确安装库,需要运行命令:pip install fake_useragent

    2020-04-01
  • INVICTUS1583224942087

    客服好
    ================= RESTART: H:\Users\86155\Desktop\class_1.py =================

    Warning (from warnings module):
    File "C:\Python27\lib\site-packages\bs4\element.py", line 16
    'The soupsieve package is not installed. CSS selectors cannot be used.'
    UserWarning: The soupsieve package is not installed. CSS selectors cannot be used.
    网址:
    zllp.myyxxx_ckkcd?_okgy.?rwozhntzkl+g?dl+cdi?+%40cgr=d_okg&rgpckt%E6%90%9C%E7%B4%A2&rgpn.t/.&rgpfkwgtQBRE&rgpcx.qwvt..d

    搜索结果:
    >>>
    ================= RESTART: H:\Users\86155\Desktop\class_1.py =================

    Warning (from warnings module):
    File "C:\Python27\lib\site-packages\bs4\element.py", line 16
    'The soupsieve package is not installed. CSS selectors cannot be used.'
    UserWarning: The soupsieve package is not installed. CSS selectors cannot be used.
    啥问题啊
    谢谢

    2020-03-03
    邦号回复

    因为最新的bs4需要额外一些辅助包,你安装bs4的时候不要用pip在线安装,直接用文章后面的本地安装,重新安装前先把老的bs4删除掉,命令是 pip uninstall beautifulsoup4

    2020-03-04
  • 邦友1576554554675

    F5之后提示框:invalid syntax ???是什么情况,一样的下来,我用的是Py 3.8.1版本

    2020-01-03
  • Zehra

    按照步骤操作的,最后显示 No module named fake_useragent

    2019-11-20
    邦号回复

    看文章底部的“2019.6.6 更新”补充说明

    2019-12-16
  • CHU褚👼

    适用于python 3.7吗

    2019-11-12
    邦号回复

    代码不适用,但原理适用,有兴趣的同学可以尝试移植下。另外我看到你后台留言了,不好意思,看到有些晚了,超过了系统的回复时间限制。你说的那句re_email=re.compile(ur'\w+[a-zA-Z0-9_.\-]*@%s'%e) 如果要移植到3.7的话可以去掉u,也就是 re_email=re.compile(r'\w+[a-zA-Z0-9_.\-]*@%s'%e),python3和2的最大区别也就是字符默认就是unicode格式,不再需要手动输入u告诉系统我强制要用unicode格式了

    2019-12-16
  • LORRAINE.YANG YU

    怎么下载class-1这个文件 我去搜了这个网盘链接根本不行

    2019-10-17
    邦号回复

    搜什么?网盘地址不是在文章底部吗 http://pan.baidu.com/s/1mi2d1Ba,一定要认真读课本,如果连这个都找不到,上面那些稍微难点的你怎么啃的下来

    2019-12-16
  • 一叶知秋1567581949361

    pip install beautifulsoup4是这个吗?后面我又重新弄了一遍 还是没有用呢!是不是跟我的电脑系统是Windows7有关?

    2019-09-05
    邦号回复

    装了后运行还是会提示这个错误“No module named bs4” ?

    2019-09-09
  • 一叶知秋1567581949361

    没有用哟,跟大神的界面一样的,就是搜不到邮箱

    2019-09-04
  • 啊柴。

    咦 网盘是没了吗?咋找不到

    2019-08-30
    邦号回复

    网盘好好的

    2019-09-04
  • Sara-Zhongshan GAAPRO LI

    下载安装新版本,添加多一个CMD的指令,打开class1,按F5无反应,请大神指点

    2019-08-13
    邦号回复

    什么叫"添加多一个CMD的指令",我没有理解

    2019-09-04
  • Coco La

    找到硬盘里的脚本class_1.py,右键选择Edit with IDLE然后在跳出来的窗口产品关键字, 邮箱后缀都设置好后, 按F5运行,跳出另一个窗口,内容如下Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more information.>>> ================== RESTART: F:\2019 Coco La\tool\class_1.py ==================一个邮箱都没有跳出来。。。。

    2019-07-22
    邦号回复

    见文章最后更新,好运

    2019-07-28
  • Coco La

    大神,因为是女同学,所以安装完成后,我没有选择升级。直接在CMD 输入pip install requests pip install beautifulsoup4 pip install fake_useragent运行后,窗口界面出现Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more information.>>> ================== RESTART: F:\2019 Coco La\tool\class_1.py ==================看到这类问题,其他同学也有遇到大神的回复是 重新下载新脚本可是,我的脚本是这两天刚刚从大神的网盘里下载的盼解决

    2019-07-20
    邦号回复

    现在不是没有错误提示了么,还有什么问题?

    2019-07-20
  • Coco La

    客服大神,按F5 第一次运行后,代码如下Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:19:22) [MSC v.1500 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more information.>>> ================== RESTART: F:\2019 Coco La\tool\class_1.py ==================Traceback (most recent call last): File "F:\2019 Coco La\tool\class_1.py", line 11, in <module> from fake_useragent import UserAgentImportError: No module named fake_useragent看评论里又补充了一下代码>>> pip install fake_useragent提示如下SyntaxError: invalid syntax希望能得到大神的帮助

    2019-07-18
    邦号回复

    pip install fake_useragent 是在cmd执行的

    2019-07-19
  • Oliver~小宇宙

    截图Traceback (most recent call last):。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。ConnectionError: HTTPConnectionPool(host='i._ckkcd?_okg', port=80): Max retries exceeded with url: /search?q=irrigation+%40cgr=d_okg&go=%E6%90%9C%E7%B4%A2&qs=bs&form=QBRE (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x03DB6CD0>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed',))>>> 请问大虾们,这个是啥问题呢?

    2019-07-13
    邦号回复

    怎么连到google去了?第一课没这个内容啊

    2019-07-16