gpt4 book ai didi

python - 通过网络爬虫从句子中提取相关信息?

转载 作者:行者123 更新时间:2023-11-29 05:48:50 24 4
gpt4 key购买 nike

我正在抓取 this网站。我有抓取包含相关信息的句子的脚本。现在我要做的是从抓取的句子中提取以下信息。

  • 招聘公司的名称
  • 公司所在地
  • 广告所针对的位置

没有所有三个必填字段的职位列表将被丢弃。

relevent information highlighted这是我的脚本

from bs4 import BeautifulSoup
import requests

# scrape the given website
url = "https://news.ycombinator.com/jobs"
response = requests.get(url, timeout=5)
content = BeautifulSoup(response.content, "html.parser")

table = content.find("table", attrs={"class": "itemlist"})

array = []
# now store the required data in an array
for elem in table.findAll('tr', attrs={'class': 'athing'}):
array.append({'id': elem_id,
'listing': elem.find('a',
attrs={'class': 'storylink'}).text})

最佳答案

大多数工作似乎都具有以下模式

ZeroCater (YC W11) Is Hiring a Principal Engineer in SF
^^^^^ --------- ^^^^^^ -- ^^
Company Position Location

您可以将职位名称拆分为正在招聘正在

import requests
from bs4 import BeautifulSoup
import re
r=requests.get('https://news.ycombinator.com/jobs')
soup=BeautifulSoup(r.text,'html.parser')
job_titles=list()
for td in soup.findAll('td',{'class':'title'}):
job_titles.append(td.text)

split_regex=re.compile('\sis hiring\s|\sin\s', re.IGNORECASE)
job_titles_lists=[split_regex.split(title) for title in job_titles]
valid_jobs=[l for l in job_titles_lists if len(l) ==3]

#print the output
for l in valid_jobs:
for item,value in zip(['Company','Position','Location'],l):
print(item+':'+value)
print('\n')

输出

Company:Flexport
Position:software engineers
Location:Chicago and San Francisco (flexport.com)


Company:OneSignal
Position:a DevOps Engineer
Location:San Mateo (onesignal.com)

...

注意

  • 不是完美的解决方案。
  • 征得网站所有者的许可。

关于python - 通过网络爬虫从句子中提取相关信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56717995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com