如何在从网页写入文件时跳过行?

时间:2014-09-10 22:50:05

标签: python python-requests

我有一个脚本可以抓取来自许多不同页面的网页数据,并将数据写入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'))

1 个答案:

答案 0 :(得分:0)

无法部分下载HTML页面。您将跳过这些不需要的行。特别是如果你知道确切的数字。因此,当您逐行读取html页面时,请对行进行计数,并仅写入数字高于所需数量的行。在你的情况下1200。