1

当我执行脚本时,结果为空。为什么?该脚本与站点连接并解析 html 标签<a>

#!/usr/bin/python3

import re
import socket
import urllib, urllib.error
import http.client
import sys

conn = http.client.HTTPConnection('www.guardaserie.online');
headers = { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                "Content-type": "application/x-www-form-urlencoded; charset=UTF-8" }
params = urllib.parse.urlencode({"s":"hannibal"})
conn.request('GET', '/',params, headers)
response = conn.getresponse();

site = re.search('<a href="(.*)" class="box-link-serie">', str(response.read()), re.M|re.I)
if(site):
  print(site.group())
4

1 回答 1

1

您正在搜索的模式很可能在读取响应中不存在,或者在尝试解析 html 时会阻塞。

re.search( 'href="(.*)" class="box-link-serie"', str(response.read()), re.M | re.I )

使用更通用的方法或其他解析器方法可能会导致您获得所需的结果。

于 2016-08-04T18:13:21.110 回答