我有一个脚本可以抓取来自许多不同页面的网页数据,并将数据写入txt文件。但是,从每个网页,我不需要前1200行HTML,所以我想跳过这些行并将其余部分写入我的txt文件。
有没有办法做到这一点,还是应该在检索URL时先跳过它们?感谢
import requests
from requests import session
payload = {
'action': 'login',
'username': '',
'password': ''
}
with session() as c: #Create a cookie session to login to the protected page
page_offset = 0
result_list = []
c.post('login page url here', payload)
while page_offset <= 1000:
url = "actual url to scrape"
request = c.get(url)
if not request.ok:
print ("error")
# Something went wrong
for block in request.iter_content(1024):
if not block:
break
result_list.append(block)
page_offset += 25
#print (page_offset)
#print (result_list)
end_data = ','.join([str(i) for i in result_list])
with open("terapeak.txt", 'wb') as text_file:
text_file.write(bytes(end_data.strip(),'UTF-8'))
答案 0 :(得分:0)
无法部分下载HTML页面。您将跳过这些不需要的行。特别是如果你知道确切的数字。因此,当您逐行读取html页面时,请对行进行计数,并仅写入数字高于所需数量的行。在你的情况下1200。