“Hello” Python 后的第一个作品(Two Week)

认识Python的第二周,终于写出了一个小程序,虽然仍然有更多需要改进,但还是一点小兴奋。记录一下和Python有约的过程:

One Week:认识Python。下载安装软件及常用的模块,用Python 2.7。最开始接触的材料是网名叫crossin.me上传分享的一系列资料,Python的基本知识很详细。后来看南京大学视频《用Python玩转大数据》,果断转粉Pythonxy,看了前4集,把Python的基本知识又过了一遍。刚开始很茫然,这段时间持续了10天,一直要去看经验贴,搜索,找合适的资料,理解Python和程序语言,真正的从0开始进入到Python的世界。

Two Week:基本了解 一些后,打算开始写个作品,从爬虫开始。很巧的看了网易云视频《Python实战:四周实现爬虫系统》,仅免费试看一集,但是,超级有用,瞬间有种醍醐灌顶的感觉。所以好老师真的很重要,节省很多时间去理解;实战也很有用,在用的过程中才能真正的领悟。该视频安利了pychem这个IDE,感觉不错,新手可以尝试。

下面是我爬去小猪租房的代码:

from bs4 import BeautifulSoup
import requests 
import urllib2
import re
 
headers={
    'User-Agen':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36',
    'Host':'sh.xiaozhu.com'
}

def get_info(url): 
    web_data = requests.get(url)
    soup = BeautifulSoup(web_data.text, 'lxml')
    title = soup.select('div.pho_info > h4 ')[0].text
    address = soup.select('div.pho_info > p ')[0].get('title')
    price = soup.select('div.day_l > span')[0].text
    img = soup.select('#curBigImage')[0].get('src')
    host_name = soup.select('a.lorder_name')[0].text
    host_gender = soup.select('#floatRightBox > div.js_box.clearfix > div.w_240 > h6 > span')[0].get('class')[0][7:11]
  
    data={
    'title':title,
    'address':address,
    'price':price,
    'img':img,
    'host_name':host_name,
    'host_gender':host_gender,
    }

    print(data)    
    
url='http://sh.xiaozhu.com/'
req=urllib2.urlopen(url)
data=req.read()
p=re.compile(r'''''')
links=p.findall(data)
#或用soup更简单 soup = BeautifulSoup(data.text, 'lxml')
# urls = soup.select('#lodgeunit').get('detailurl')
for link in links:
    url='http://sh.xiaozhu.com/fangzi/{}.html'.format(link)
    get_info(url)

总结:
1、用到了BeautifulSoup,urllib2,re模块。熟练掌握了soup如何定位,re只能简单的处理,了解基本的HTML。
2、url='http://sh.xiaozhu.com/'用request请求不能得到完整的源代码,用urllib2却能得到,在一些群里请教过,只找出了问题,但未得出问题的原因。
3、print(data)字典格式输出汉字为ASCII编码,想要转化为汉字,网上有人用print json.dumps(store, encoding='UTF-8', ensure_ascii=False)方法。试过,但不能全部读取,这个问题仍未完全解决。
4、查询type、dir及Python标准库,是很好了解Python的资料。


1、启动mongo的时候遇到无法连接服务器额情况。解决方法,mongod -dbpath "C:\MongoDB\data\db" '路径' 启动,再在另外一个cmd里面运行mongo。

你可能感兴趣的:(“Hello” Python 后的第一个作品(Two Week))