php登录抓取网页指定内容(我有一个要抓取的静态.aspx网址(图))
优采云 发布时间: 2022-04-10 18:23php登录抓取网页指定内容(我有一个要抓取的静态.aspx网址(图))
我有一个要抓取的静态 .aspx URL。我所有的尝试都得到了常规的 网站 原创 html 数据,而不是我要查询的数据。
我的理解是我使用的标题(我从另一个 文章 中找到的)是正确且可概括的:
import urllib.request
from bs4 import BeautifulSoup
headers = {
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',
'Content-Type': 'application/x-www-form-urlencoded',
'Accept-Encoding': 'gzip,deflate,sdch',
'Accept-Language': 'en-US,en;q=0.8',
'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3'
}
class MyOpener(urllib.request.FancyURLopener):
version = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17'
myopener = MyOpener()
url = 'https://www.mytaxcollector.com/trSearch.aspx'
# first HTTP request without form data
f = myopener.open(url)
soup_dummy = BeautifulSoup(f,"html5lib")
# parse and retrieve two vital form values
viewstate = soup_dummy.select("#__VIEWSTATE")[0]['value']
viewstategen = soup_dummy.select("#__VIEWSTATEGENERATOR")[0]['value']
尝试输入表单数据不会产生任何结果:
这样,原创 html 代码几乎与“soup_dummy”变量相同。但是我正在查看的是正在提交的字段的数据(“ctl00_contentHolder_trSearchCharactersAPN”,“631091430000”)(这是“包裹号”框)。
感谢您的帮助。如果有的话,最好将我链接到一篇关于 HTML 请求的好帖子,该帖子不仅解释而且实际上通过抓取 aspx 内容。