Python 从多个div中选择要打印的URL

Python 从多个div中选择要打印的URL,python,python-2.7,web-scraping,beautifulsoup,html-parsing,Python,Python 2.7,Web Scraping,Beautifulsoup,Html Parsing,我不熟悉编程和Python 我使用Python2.7和BeautifulSoup从某个搜索结果页面提取所有URL 页面正在加载(可能需要一段时间才能加载) URL周围的代码如下所示:- <div id="content_findResults"> <div id="content_column1"> <h1 id="ctl00_ctl45_g_1e68d58d_9902_48ce_b555_5d3eb35d5624_ctl00_headingCriteria">

我不熟悉编程和Python

我使用Python2.7和BeautifulSoup从某个搜索结果页面提取所有URL

页面正在加载(可能需要一段时间才能加载)

URL周围的代码如下所示:-

<div id="content_findResults">
<div id="content_column1">
<h1 id="ctl00_ctl45_g_1e68d58d_9902_48ce_b555_5d3eb35d5624_ctl00_headingCriteria">Showing Search Results for 'OH'</h1>
<h2 id="ctl00_ctl45_g_1e68d58d_9902_48ce_b555_5d3eb35d5624_ctl00_headingResults">Your search returned 18440 results</h2>
<h4 id="ctl00_ctl45_g_1e68d58d_9902_48ce_b555_5d3eb35d5624_ctl00_headingYourSearch">Your search: 'State: OH'</h4>

<ul id="ctl00_ctl45_g_1e68d58d_9902_48ce_b555_5d3eb35d5624_ctl00_resultsList">
<li>
<a href="**/Pages/MemberProfile.aspx?sST=OH&amp;pID=10727**">Janet Gilligan Abaray</a></li>
<li>
<a href="**/Pages/MemberProfile.aspx?sST=OH&amp;pID=26507**">Kenneth Pascal Abbarno</a></li>
显然它不起作用了


请告知我如何选择要打印的URL。

您可以在
href
属性中获得包含
成员档案的所有
a
元素:

from bs4 import BeautifulSoup
import requests

url = 'https://www.ohiobar.org/Pages/Find-a-Lawyer.aspx?sFN=&sLN=&sPA=&sCI=&sST=OH&sZC='

with requests.Session() as session:
    session.headers = {'User-Agent': 'Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'}

    response = session.get(url)
    soup = BeautifulSoup(response.content)

    for link in soup.select("div#content_findResults div#content_column1 ul li a[href*=MemberProfile]"):
        print link.get("href")
这里,我使用a来定位
a
元素

印刷品:

/Pages/MemberProfile.aspx?sST=OH&pID=10727
/Pages/MemberProfile.aspx?sST=OH&pID=26507
...
/Pages/MemberProfile.aspx?sST=OH&pID=17139
/Pages/MemberProfile.aspx?sST=OH&pID=57207

谢谢。请允许我问几个问题:-1。从何处获取要输入的用户代理信息?2.我发布的URL有超过18K个URL,但代码只返回了大约1600个。如何从页面中提取“所有”URL。没有分页,所有的URL都只在一个页面上。非常感谢你again@pb_ng可能不需要设置用户代理。我刚刚使用了一个模板来处理类似的请求+bs4代码段。第二个问题最好在单独的线程中解决,以防遇到困难。考虑创建一个新的问题,给我一个链接。“嗯,也许我马上就知道答案了。”安装
lxml
并尝试使用
soup=BeautifulSoup(response.content,“lxml”)
。不管它是否有用。谢谢,谢谢你,Alex,但结果是一样的。还有什么我应该试试的吗?@pbng有趣的是,我得到了18440分。您执行的代码是否与答案中提供的完全相同?谢谢
/Pages/MemberProfile.aspx?sST=OH&pID=10727
/Pages/MemberProfile.aspx?sST=OH&pID=26507
...
/Pages/MemberProfile.aspx?sST=OH&pID=17139
/Pages/MemberProfile.aspx?sST=OH&pID=57207