关键词搜索

源码搜索 ×
×

Python笔记-使用requests获取网页数据及re中用正则表达式获取指定数据

发布2020-03-12浏览6276次

详情内容

如下代码:

  1. import re
  2. import requests
  3. class HandleLaGou(object):
  4. def __init__(self):
  5. self.laGou_session = requests.session()
  6. self.header = {
  7. 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
  8. }
  9. self.city_list = ""
  10. #获取全国城市列表
  11. def handle_city(self):
  12. city_search = re.compile(r'zhaopin/">(.*?)</a>')
  13. city_url = "https://www.lagou.com/jobs/allCity.html"
  14. city_result = self.handle_request(method = "GET", url = city_url)
  15. self.city_list = city_search.findall(city_result)
  16. def handle_request(self, method, url, data = None, info = None):
  17. if method == "GET":
  18. response = self.laGou_session.get(url = url, headers = self.header)
  19. return response.text
  20. if __name__ == '__main__':
  21. laGou = HandleLaGou()
  22. laGou.handle_city()
  23. print(laGou.city_list)
  24. pass

运行截图如下:

从中可以学到如下的知识点:

把网页数据后,可以使用notepad++先模拟下正则表达式匹配:

这里是这样的正则表达式:

zhaopin/">(.*?)</a>

(.*?)匹配这里面任意数据,但只匹配一次。

这里的re.conpile(r'')这个r就是指Regular expression。

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载