python爬取网页数据

 


1访问https://www.51job.com/,在搜索框输入关键字:python java,用右边的加号选择北京、上海、广州、深圳 四个城市,点击搜索按钮,同时谷歌浏览器的开发者工具,详细观察整个过程中http协议的请求以及响应的具体情况。.网页返回的内容是html格式的,下面是经过简化之后的部分页面内容:
<span class="t3">北京-朝阳区</span>
<span class="t4">1.5-2万/月</span>
<span class="t5">10-16</span>
<span class="t3">深圳-龙华新区</span>
<span class="t4">1.5-2.5万/月</span>
<span class="t5">10-16</span>
<span class="t3">北京-海淀区</span>
<span class="t4">0.8-1.5万/月</span>
<span class="t5">10-16</span>
<span class="t3">广州</span>
<span class="t4">1.5-2万/月</span>
<span class="t5">10-16</span>
请编写程序取出里面的数据部分,结果应该如下:
北京-朝阳区
1.5-2万/月
10-16
深圳-龙华新区
1.5-2.5万/月
10-16
北京-海淀区
0.8-1.5万/月
10-16
广州
1.5-2万/月
10-16

分别获取关键字是python、java,右边选择北京、上海、广州、深圳四个城市时前10页的招聘数据,用正则表达式解析获取的数据,按照以下格式把数据存储在文件中
关键字 工作地点 薪资min 薪资max
java 上海     1.5     1.6
java 深圳     1.5     3
java 上海     0.8     1
python 北京     1.5     2.5
python 广州     1.5     2.2
 

import urllib.request
import re
res='https://search.51job.com/list/010000%252C020000%252C030200%252C040000,000000,0000,00,9,99,Python,2,'
def title(finalurl):
    url = urllib.request.urlopen(finalurl)
    html = url.read().decode("GBK")
    re.findall('<span class="t3">(上海|北京|深圳|广州).*</span>\s*<span class="t4">(\d+\.?\d*)-(\d+\.?\d*)(千|万)/(年|月)</span>',html)
    a=[]
    a.append(re.findall('<span class="t3">(上海|北京|深圳|广州).*</span>\s*<span class="t4">(\d+\.?\d*)-(\d+\.?\d*)(千|万)/(年|月)</span>',html))
    file = open("E:file.txt",'a+')
    for i in range(len(a)):
        for j in range(len(a[i])):
            m = str(a[i][j]).replace('(','').replace(')','').replace("'",'').replace(',','')+'\n'
            file.write(m)
    file.close()
    
for i in range(2):
	   finalurl = res +str(i)+'.html'
	   title(finalurl)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值