零基础自学了两个月的 Python , C 学过一点只能算是基本有点概念,对于我来说 一个很简单的问题,也要花上很多精力去解决,在这创建个主题的原意除了给我自己解决问题,也希望给像我这样自学苦恼解决不了基本问题的人建设一个主题。

2018-06-20 11:54:43 +08:00
 DrinkMoreWater
windows 10 的系统,python 版本 3.6,环境下载的是 Anaconda3 + pycharm,自己现在的阶段处于学习完基础语法,对参数,列表,返回值, 传值,传址,OOP 一些计算抽象概念和底层实现有一些浅薄的了解。
对于互联网行业也从模模糊糊的概念,到理解前端是做什么的,后段是做什么的,自己没什么学历, 也明白自身只有中人之姿,it 技术博大精深, 对于我来说如果想有一丝机会去做好 只有十年如一日的坚持, 专心做一个方向,想了很久选择了数据挖掘,虽然有点迷茫怎么进阶以后的 it 道路,我也只能选择目前看得见的爬虫和运用熟悉模块开始然后遇到问题再去解决,在导入模块搭建环境的时候遇到的一些问题,希望得到各位大牛的指导。
具体问题,我想搭建一个爬虫的环境,百度了一下爬虫环境需要的模块,(后面是具体模块):
内置库: urllib,re,
需要安装的库:requests,selenium,chromedriver,phantomjs,lxml,beautifulsoup4 (依赖 lxml ),pyquery

储存库:pymysql,pymongo,redis,flask(代理 IP 的库),django,jupyter(强大的记事本),
框架:PySpider,scrapy
1: 用 pycharm 安装模块到,selenium,chromedriver,安装不上去,(具体报错信息如果有大牛愿意留下 QQ 的话 , 感激不尽,也可以力所能及的进行付费提问,但是可能没办法给太多,我不会经常麻烦您的。)
2:我有也有想过,在每个阶段人是有极限的, 所以有时候我会想 Python + Django/Flask 的方向,先进行入行,然后再进行后续的进阶,毕竟如果从事数据, 以我这样的条件在没踏上轨道的时候选择这方面是很困难的
(有大牛可以给点建议,就很感激了)
3: 其实我明白基本爬虫可能不需要安装这么多环境(我也不知道对不对),可是我不知道什么才是正确的环境安装,很迷茫,不知道有大牛指点一下吗,感激不尽,在自学这条路上, 像我这样没学历,没知识体量的人,太需要一位引路人,就算没有找到引路人,我也希望这个在 V2EX 论坛发的帖,能是一个环境安装,模块方面的扫盲贴, 如果我没坚持下来, 我也希望像这样的帖子能帮助到以后像我一样的那类人。
7582 次点击
所在节点    Python
75 条回复
xpresslink
2018-06-20 12:59:08 +08:00
我建议楼主先学习一下 web 开发
把 Web 服务原理,HTTP 协议,HTML,CSS,Javascript 之类的都明白了。
web 开发中有一个技术就是如何反爬。

之后再学习爬虫技术就事半功倍了。
而且爬虫中最难的技术是如何越过反爬机制。
DrinkMoreWater
2018-06-20 12:59:47 +08:00
@soho176 图床的地址,
咨询到了一些解决方法, 如果我解决了, 我会贴图上来到论坛,还是很谢谢你
encro
2018-06-20 12:59:54 +08:00
首先,你的了解 selenium 和 chromedriver,这两个安装都算比较容易的了。如果遇到问题最好是去 google,然后在 stackoverflow 找答案,如果不能用 stackoverflow 最好不要做程序了吧,搬运工的日子以后会越来越难过的。
其次,可以考虑用自己现在写的代码赚钱。按照你现在的水平,应该也可以赚钱了。虽然不一定现在就能赚到钱,但是可以养成将代码变现的好习惯。
soho176
2018-06-20 13:07:06 +08:00
ihancheng
2018-06-20 13:09:44 +08:00
@encro chromedriver 需要翻墙
geekcorn
2018-06-20 13:32:15 +08:00
@likuku 非常同意这个老哥的观点
a7a2
2018-06-20 13:53:11 +08:00
争强好胜有能力之人会选鄙视链顶端的有难度有挑战的语言来学习

学生党大多都是 java 或者 c 系列,简单高效敏捷还是 golang

python 感觉很乱
tianhualefei
2018-06-20 14:33:07 +08:00
我也自学过 python,现在上班还在没事捣腾 Python,爬虫,数据挖掘等。

入门选手,不要瞎折腾配置各种工具,不要瞎折腾,不要瞎折腾。。。。

Anaconda3 已经包含了数据科学所需要的大部分库了。还自带的命令行 prompt,编辑器 spyder,不需要别的东西,至少爬虫,数据挖掘入门不需要,也用不上捣腾别的东西。浪费入门的时间,看代码的 notepad++编辑器就贼好使。



想做爬虫,建议买本爬虫的书,国内出版的就行,亚马逊抢搜一下,看看评论,注意 python2 和 python3 的区别,以及有没有源代码的评论。 想买便宜的就再去淘宝搜书。

亚马逊图书的评价是真良心。。


国内讲的不深,好在系统,通俗易懂,把网上乱七八糟,五彩缤纷的爬虫帖子给总结到一起了,爬的也是国内的网站,别看不起国内的书,有些确实很烂,但是比起还没入门的人,够你学的了,


重要的是有代码,代码,能跑的通的代码,比网上瞎逛的时过境迁,到处 bug 的爬虫帖子强多了。

书也不厚,边看书,边敲边对着现有的代码跑起来,也可以改着玩。

刚入门,贪多嚼不烂。
qinxi
2018-06-20 14:37:34 +08:00
倒不如你直接发帖说出你的问题. 只要不是简单到随便搜索都有的答案,这里很多人还是愿意解答的
RockShake
2018-06-20 14:46:17 +08:00
你这个问题很简单啊,发张图上来就行了,是因为 Anaconda 的部分源的问题,用上清华的源基本就没问题了,其实 Python 模块安装用 Anaconda 基本不会碰到问题。
ysc3839
2018-06-20 14:50:02 +08:00
我建议先想一个有意义的小项目,然后试着完成这个项目。最重要的是你要对这个项目有兴趣。
onice
2018-06-20 14:54:45 +08:00
初学者还是建议廖雪峰的教程。
bucky
2018-06-20 14:59:32 +08:00
去买某课网的课程吧,django 完整项目,scrapy 完整的项目,flask 完整的项目都有,我觉得这是最好的办法
laike9m
2018-06-20 15:08:02 +08:00
不懂英文看不懂报错信息的话就有点难咯
ysc3839
2018-06-20 15:09:09 +08:00
假设我打算做一个获取 V2EX 某节点主题的程序。
先在浏览器的 DevTools 查看网络请求,可以看到主题列表是直接写在 HTML 里面的,那直接向服务器请求,然后解析数据即可。
首先是向服务器请求数据,可以用内置的 urllib,也可以用更加简单的 requests。
请求到数据后,解析数据可以直接用 re,也可以解析 xml 然后获得数据。
如果选择用 re 的话,那就去学习正则表达式。

我自己的自学方法大概是这样,根据项目分析需要用到什么,然后去学习。
annt123
2018-06-20 15:50:30 +08:00
@ihancheng 别误导别人了,谷歌驱动火狐驱动直接官网( http://docs.seleniumhq.org/download/)有下载,把那个驱动放到 python 的根目录下就可以加载了,而且你两个浏览器的版本不能太高,高版本是不兼容当前驱动的,注意!!!你前面说的安装不成功的模块大部分都是不能 pip 安装的,官网下好安装包然后加压进行安装一个一个排错即可。
ThirdFlame
2018-06-20 17:05:42 +08:00
看了半天,没有能明白楼主想要表达什么。
第一步都没有迈出去,还在纠结框架为啥装不上。
应该先 requests 爬起来啊,爬的过程中遇到了问题,在一个一个解决啊。 满足不了需求的时候自然需要上框架了。
另外 安装某个东西出错,不应该首先百度 或者 google 么。
可能在 windows 下安装会遇到很多问题,换 linux 系统,比如 ubuntu,pip 或者 apt-get intall 安装,总能安装成功的。
jeadong
2018-06-20 17:10:41 +08:00
我以前有一个误区就是说道 PY 就想到爬虫...
tjxiter
2018-06-20 17:26:21 +08:00
我有个学生 12 岁就会 Python 了。

如果是成年人,python 已经是不能再简单了。

1 《 python 简明教程》
练习:codewars.com

2 《 python 学习手册》
练习:爬虫、分析数据(要看下 numpy 或 pandas )等
summerwar
2018-06-20 17:31:15 +08:00
学编程我觉得应该是项目驱动的,就是你先设立一个目标,然后去分析需要哪些东西,然后学相应的东西就行了,如果没有项目或者需要解决的事情,学起来会比较飘渺,没有方向。

以爬虫为例,假如你看到一个电子书的网站,想批量抓取里面的所有下载地址,下载地址是百度网盘,那么你就想我先要获取页面的源代码,然后查能获取源代码的是啥,比如知道了 Requests,然后去学这个,学会之后,你要从列表页的源代码中找到具体页和下一页的链接,那么就查需要啥,查到用 re 或者 beautifulsoup 都可以,那么选一个去学,然后去获取内容。接着是提取页面中的百度网盘地址,用正则去匹配,考虑到不同地址中间的内容不同,可以去尝试做最好的兼容性的正则表达式,或者配置几个不同的正则表达式,一个一个去获取。

最后获取到的批量的百度网盘地址和密码,要保存,那么去想用 mysql 还是 sqlite,学相应的东西,比如 sqlalchemy,然后保存之后,要么去下载,要么是批量保存到自己的网盘的某个目录,最后通过网盘客户端下载,然后再去查需要的东西,最后解决问题。

最终实现的结果就是,直接从那个网站上抓电子书的地址,然后存到百度网盘,全部自动,这样一个项目就完成了。

拿上面的例子来说,主要是你得先有内容,然后分析内容需要啥东西,然后去学。

编程的优势在于解决问题,所以没有问题的时候你得先有问题,否则学完了都不知道干啥用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/464363

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX