擅长:python、mysql、java
<p>这是我的尝试,但和上面差不多:</p>
<pre><code>from bs4 import BeautifulSoup
from urllib2 import urlopen
def work(url):
soup = BeautifulSoup(urlopen(url).read())
for i in soup.findAll("a", text=True):
if "GIS" in i.text:
print "Found link "+i["href"].replace("?in_iframe=1", "")
urls = ["https://jobs-challp.icims.com/jobs/search?pr=0&searchKeyword=gis&searchRadius=20&in_iframe=1", "https://www.smartrecruiters.com/SpectraForce1/"]
for i in urls:
work(i)
</code></pre>
<p>它定义了一个函数“work()”来完成实际的工作,从远程服务器获取页面;使用<code>urlopen()</code>,因为它看起来像您想要使用<code>urllib2</code>,但我建议您使用<a href="http://docs.python-requests.org/en/latest/" rel="nofollow">Python-Requests</a>;然后它使用<code>findAll()</code>查找所有的{<cd3>}元素(链接),并检查每个链接的文本中是否有“GIS”,如果是,那么它将打印链接的<code>href</code>属性。在</p>
<p>然后它使用<a href="http://docs.python.org/2/tutorial/datastructures.html#list-comprehensions" rel="nofollow">list comprehension</a>定义URL列表(本例中只有2个URL),然后为列表中的每个URL运行<code>work()</code>函数,并将其作为参数传递给函数。在</p>