A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

空空如也的女人

初级黑马

  • 黑马币:20

  • 帖子:35

  • 精华:0

 文字功底差,只为了给自己付出了一段时候的学习做一个总结,让自己能够能Python爬虫的一些功力得以保存。

 就我个人而言,觉得有以下几点:

  一、必须要有python的基础知识,重点在字符串(string)、列表的迭代(iteration)和切片(slice),字典类型,For循环。

  二、了解熟悉HTML基础知识。这样就知道了父标签、子标签、兄弟标签等,对于快速定位甚是有用。

  三、Requests库中get和post对HTTP的请求方式获得response。另外了解返回的实例对象response.text(文本)和response.content(图片、视频等)的区别。

  四、BeautifulSoup中使用Find和Find_all方法提示想要的内容。如实例对象soup.find_all("div",class_="xxx")#注意class属性在这里有个下划线,要获取某属性的值如get('href')的用法。另外还需要了解soup.select的css选择器方法,最主要记住class属性用“."号代替,id用‘#’代替,如soup.select('.xxx')选择class属性为xxx的标签,soup.select('#xxx')同理,另外,就是组合使用,如soup.select('div[class='xxxx']'),最后使用for循环把值迭代出来。

  五、把获取到的内容写入文件,有写入txt、excel和数据库(mysql or nomysql)中。特别是在写入到MySQL中,要特别注意编码的问题,否则会报错,导致程序执行失败。

 在通过如pymysql模块进行连接的时候需要设置charset='utf8',如conn = pymsql.connect('localhost','root','root','db',charset='utf8')。在创建表的时候同样设置成utf8,如create table table_name( xxxxxxxx) character set utf8;。

 六、就是要在逐渐学习深入过程中,了解、理解、掌握正则表达式(Regular Expression),这是非常强大的东西,在很多语言中都会遇到这个东西,对提取想要的内容非常有帮助。

 七、最后就会接触到分布式爬虫,scrapy+xpath等强大到我们无法想象的更为简单的工具,但没有前面的基础这些空中楼阁都无从学起。

2 个回复

倒序浏览
分享学习,还是挺好的!
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马