我正在使用 beautiful soup 4
和 requests
从需要登录的网站上抓取一些信息。
导入请求
来自lxml import html
来自bs4 import BeautifulSoup

 username =“username”
 password =“password”

 login_url =“mywebsite.com/login"
url =”mywebsite.com/profile"
def main():&# XA; request.Session()as s:

 #获取登录csrf令牌
 result = s.get(login_url)
 tree = html.fromstring(result.text)
 authenticity_token = list(set(tree.xpath(“// input [@ name ='lt'] / @ value”)))[0]
 execution = list(set(tree.xpath(“// input [@ name ='execution'] / @ value”)))[0]
 _eventId = list(set(tree.xpath(“// input [@name ='_ eventId'] / @ value”)))[0]

 #创建有效载荷
 payload = {
 “username”:用户名,
 “密码”:密码,
 “lt”:authenticity_token,
 “执行”:执行,
 “_eventId”:_ eventId
 }

 #执行登录
 r = s.post(login_url,data = payload,headers = dict(referer = login_url))

 #授权请求
 page = s.get(url)

 #制作汤
 soup = BeautifulSoup(page.content,'lxml-xml',from_encoding ='utf-8')

 #汤和#xA; data = []

 table = soup.find('table',attrs = {'class':“basicList.wide”})

 table_body = table.find('tbody')
 rows = table_body.find_all('tr')

行中的行:
 cols = row.find_all('td')
 cols = [elestext.strip()for cols cols]
 data.append([如果是ele,则为ele中的ele])
 print(data)




 if __name__ =='__ main __':
 main()



 我遇到的问题是我的 page.content
我传入<代码> BeautifulSoup()函数,以便创建我的汤
,不包含我想要从中抓取数据的表,即使它显示在我的屏幕和HTML检查元素中。这是从 print(汤)
得到的相关输出(它实际上比这更多但是这些是表应该之前和之后的部分。
&lt; a id =“p_StudentRegistrationWAGadget_WAR_StudentRegistrationWAGadgetportlet_INSTANCE_eiG4”/&gt;&#xA;&#xA;&lt; div class =“portlet-borderless-container”style =“”&gt;&#xA;&#xA;&lt; div class =“portlet-body”&gt;&#xA;&#xA;&lt; div id =“StudentRegistrationWAGadget3fe0ccfe435425a6”/&gt;&#xA;&# xA;&lt; script type =“text / javascript”&gt; /**/window.qkAppReady.done(function(){require(["qk"],function(a){a.mainSession.newGadget("WebAdvisorGadget“ ,{initialScreen:“ST-XWESTS04C”,enableOlark:true,container:“#StudentRegistrationWAGadget3fe0ccfe435425a6”})})}); / ** /&lt; / script&gt;&#xA;&#xA;&lt; / div&gt;&lt; ; / div&gt;&lt; / div&gt;&lt; / div&gt;&lt; / div&gt;&lt; / div&gt;&lt; / div&gt;&lt; form action =“”id =“hrefFm”method =“post”name =“hrefFm “/&gt;&lt; / div&gt;&#xA;&#xA;&lt;! - 开始页脚 - &GT; &#xA;
&#xA;&#xA; 以下是页面的Inspect Element的一些图片,以及特定的表格,我想抓一下。我用箭头标出了相关的点。
&#xA;&#xA; &#xA;&#xA; &#xA;&#xA;我不确定从哪里开始解决这个问题,并且感谢任何帮助,特别是有关我究竟是什么的信息我做错了,或者是我用拼错误解的概念,这是我混淆的根本原因。我甚至不知道标题是否准确地表示我的问题是什么,因为我不知道用于解释为什么我无法访问该表的语言。
&#xA;&#xA;提前谢谢!
&#xA;