首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

正则表达式太难不会?试试靓汤,真香!

昨天将爬取网页的代码中utf-8 改为 gbk 后,程序运行成功。

为了方便后面的工作,在test文件夹下,新建一个html文件,将刚才运行成功的结果粘贴过来。

下一步,定义获取所有工作岗位链接的函数。

在搜索页面,岗位显示的信息是很少的,我们只有通过点击某个岗位链接的时候,才可以看到这个岗位的详情页。

也就是说,通过这个函数,可以爬取岗位详情页面的信息。

所以,这个事得分两步:第一步是拿到所有岗位的链接;第二步是爬取链接页面的所有内容。

要注意三个问题:

1、网址中的岗位如果是中文名怎么办?

比如要是岗位搜“大数据”,网址就变成了这个鬼样子。

这里需要从 urllib引入一个包 parse,可以将字符串解析成相应的字符。

在 PyCharm里用 parse 解析下“大数据”三个字会出来什么结果呢?

咦?仔细对比可以发现,虽然跟网址不完全一样,但是只是区别在网址比我们的运行结果每个字符前多了个25而已。

这说明51job是进行了两次解析。

所以我们也得相应进行两次解析就对上了。

结果与网址一样,完美契合!

于是,按照这个思路,要将 main 函数中的网址也要进行相应改造。

2、如何解析网页

如果不使用正则表达式解析,那么可以使用BeautifulSoup。

在 Chrome 利用指针进行定位,然后通过层级关系精确找到需要的内容。

感觉这个办法真的挺简单,比正则表达式要强好多。

唯一的难点就是在 Chrome里面认真分析的过程,但实际上通过在 PyCharm里面不停的试错,终究也会找到的。

至此,获取所有岗位链接的 getLink 函数已经搞定了。

今天先到这里,后面的内容明天再说吧。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200415A09JOZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券