hahawangzi 发表于 2020-6-5 14:59

PYTHON 问一下这段文本如何获取!?

url2 = "https://bbs.3dmgame.com/"
    headers = {
   
         'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
         #'Referer':"https://bbs.3dmgame.com"
         
      }
    r2 = requests.get(url2+page,headers=headers)
    table2 = BeautifulSoup(r2.text,'lxml')
    soup=table2.find('td',class_="t_f",id=re.compile("postmessage_\d+$"))
    for s in soup.text:
      if re.findall(".*游戏名称:(.*).*",s):
            print(re.findall(".*游戏名称:(.*).*",s))
下午Strong的文本 可以通过 遍历 dvi align=center 获得 ,但是 “战斗坦克2.。”这段在strong外面的文本 获取不了。
正则表达是也写不好 求教!!!!
网址是https://bbs.3dmgame.com/thread-6050453-1-1.html

Zeaf 发表于 2020-6-5 15:33

那里不还有个<br>吗
而且*后面加个?是不是好些,非贪婪模式

yuhan694 发表于 2020-6-5 15:39

url = "https://bbs.3dmgame.com/thread-6050453-1-1.html"
headers={
"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
}
html = requests.get(url,headers=headers).text
html_new = etree.HTML(html)
details = html_new.xpath('//td[@id="postmessage_253791392"]/text()')
for detail in details:
    print(detail)

是想取这段吗https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif

xiaonaimaoya 发表于 2020-6-5 15:42

用xpath不香嘛???

kof21411 发表于 2020-6-5 15:42

先用split("<br>")分割,遍历 再用split("</strong>")分割,就能分别获得 ”游戏名称“和”战斗坦克2xxxxx“

Vode 发表于 2020-6-5 15:47

这种解析xpath比较方便

天依飞扬 发表于 2020-6-5 15:54

xpath绝对是最方便的。

diyikuai 发表于 2020-6-5 15:56

路过学习一下,哈哈

明明很皮 发表于 2020-6-5 16:17

简单做了下

fanvalen 发表于 2020-6-5 21:52

单独用re 是因为他跨了行要在行结尾加上\s*才能继续匹配内容,<strong>游戏名称<\strong>\s*(.*)
页: [1] 2
查看完整版本: PYTHON 问一下这段文本如何获取!?