鱼C论坛

 找回密码
 立即注册
查看: 2189|回复: 4

[见证历程] 每日一爬(不定期更新,嘿嘿嘿~)练手系列

[复制链接]
发表于 2018-3-2 15:25:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
爬取2017年房价排行榜数据:
import requests
import bs4
import re
import openpyxl
def open_url(url):
    headers = {'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}
    html = requests.get(url,headers = headers)
    #print(html.encoding)   
    encoding = html.encoding
    return html

def get_data(html):
    soup = bs4.BeautifulSoup(html.text,'html.parser')
    #print(soup.find_all('li',class_=re.compile('^clearfix.+')))
    mylist = []
    for each in soup.find_all('li',class_=re.compile('^clearfix.+')):
        mylist.append(each.text.strip().split('\n'))
    new_mylist = []
    for each_list in mylist:
        each_list[0] = re.search(r'2017年(.+)房价',each_list[0]).group(1)
        new_mylist.append(each_list)
    return new_mylist

def save_as_excel(mylist):
    wb = openpyxl.Workbook()
    ws = wb.active

    ws['A1'] = '地区'
    ws['B1'] = '房价'
    ws['C1'] = '同比'

    for each in mylist:
        ws.append(each)

    wb.save('2017全国房价排行.xlsx')

def main():
    url = 'https://www.anjuke.com/fangjia/quanguo2017/'
    html = open_url(url)
    mylist = get_data(html)
    save_as_excel(mylist)

if __name__ == '__main__':
    main()
QQ截图20180302152233.png

评分

参与人数 1荣誉 +6 鱼币 +6 贡献 +6 收起 理由
小甲鱼 + 6 + 6 + 6 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-2 16:20:56 | 显示全部楼层
可以可以~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-2 20:13:37 | 显示全部楼层
可不可以不用bs4?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-2 22:58:43 | 显示全部楼层
本帖最后由 snail:) 于 2018-3-2 23:14 编辑


谢谢坛主,继续努力
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-2 23:01:00 | 显示全部楼层
qiuyouzhi 发表于 2018-3-2 20:13
可不可以不用bs4?

可以的,你直接用正则也行,bs4就是重新把网络的框架梳理出来,便于分析
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 10:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表