【发布时间】:2015-09-19 13:43:00
【问题描述】:
我是一个 3 天大的 Python 用户。
我想让程序读取网站源代码
然后只复制出现在
=符号之后的一组数字,仅用于类似<a href="mypage.php?REF=2327327"></a>的链接
然后我想将它们放在一个列表中(在后续代码块中),该列表将从该列表中获取每个数字
并将列表中的每个数字放入模板段落中。
那我想把这样的段落输出到一个文本文件中。
想要的输出是
5646556
6564654
454654
4646546
等等
这是我正在使用的代码。
from bs4 import BeautifulSoup
import urllib2
import re
url = "somewebsite"
headers = { 'User-Agent' : 'Mozilla/5.0' }
html = urllib2.urlopen(urllib2.Request(url, None, headers)).read()
soup = BeautifulSoup(html)
links = soup.findAll('a', href=re.compile('.*mypage\.php\?REF=[0-9]*'))
template = """lasljasfkljaslkfj{}
slajfljasflk
aslkjfklasjflkasjf
alksjflkasjf;lk
"""
replace = [ link.split("=")[1] for link in links ]
output = [template.format(r) for r in replace]
print output
with open('output.txt', 'w') as f_output:
f_output.write(''.join([template.format(r) for r in replace]))
这是原始程序的另一半。 这个程序只从你必须输入的列表中获取数字,并将这些数字中的每一个放在一个段落中,然后复制该段落,并从列表中插入下一个数字。
template = """fjajflakjfakjfl;kj REF={}
sklkasalsjklas
klajsl;kdajs;djas
aksljl;askjflka
"""
replace = [1131062,
1140921,
1141326,
1141355,
1141426,
1141430,
1141461,
1141473,
1141477,
1141502,
1141525,
1141622,
1141662,
757053,
989967]
output = [template.format(r) for r in replace]
with open('output.txt', 'w') as f_output:
f_output.write(''.join([template.format(r) for r in replace]))
【问题讨论】:
-
打破你的句子。很难理解你想要实现什么?
-
@AhsanulHaque7 我在问题中添加了休息
标签: python beautifulsoup