|
发表于 2022-10-9 19:49:23
|
显示全部楼层
本帖最后由 阿奇_o 于 2022-10-9 19:53 编辑
那一个个加上,试一下即可。
下面是加了两个条件的正则,且是修改、优化过的(这里应该是“一步到位”了,但实际中通常是“一步步”来的)
- import re
- with open('out8.txt', encoding='utf8') as f:
- # 第二国籍为 China , 且 包含 1 shared interest
- results = re.findall(r'<div class="css-em857x"><a title=".*? href="(/profile/\d{6,8})">(.*?)</a>.*?title="(.*?)" class.*? title="China" class.*?>1 shared interest', f.read())
- print(results)
- print(len(results)) # 17 个
复制代码
再玩玩我喜欢的pandas,一目了然(Notebook哦):
- import re
- import pandas as pd
- with open('out8.txt', encoding='utf8') as f:
- # 将 第二国籍,和 1 shared interest 也获取进groups
- results = re.findall(r'<div class="css-em857x"><a title=".*? profile" href="(/profile/\d{6,8})">(.*?)</a></div></h4>.*?title="(.*?)" class.*?<span aria-hidden="true" title="(.*?)" ', f.read())
- # results = re.findall(r'<div class="css-em857x"><a title=".*? profile" href="(/profile/\d{6,8})">(.*?)</a></div></h4>.*?title="(.*?)" class.*?<span aria-hidden="true" title="(.*?)" class.*?>(1 shared interest)', f.read())
- print(results)
- print(len(results)) #
- df = pd.DataFrame(results)
- df
复制代码
|
|