在.py文件中,我有一个存储网址列表的变量。如何正确构建循环以从每个URL检索代码,以便我可以从每个页面中提取特定数据项?
这是我迄今为止所尝试过的:
import requests
import re
from bs4 import BeautifulSoup
import csv
#Read csv
csvfile = open("gymsfinal.csv")
csvfilelist = csvfile.read()
print csvfilelist
#Get data from each url
def get_page_data():
for page_data in csvfilelist.splitlines():
r = requests.get(page_data.strip())
soup = BeautifulSoup(r.text, 'html.parser')
return soup
pages = get_page_data()
print pages
答案 0 :(得分:1)
如果不使用 #include <iostream>
#include <iomanip>
using namespace std;
class BillSys{
char fname[20], lname[20], city[20], phone[11];
public:
void accept(){
cout<<"Enter the name of the customer: ";
cin>>fname>>lname; cout<<endl;
cout<<"Enter city: ";
cin>>city; cout<<endl;
cout<<"Enter contact number: ";
cin>>phone;
cout<<endl<<endl;
}
void display(){
cout<<"***Customer Details***"<<endl<<endl;
cout<<"First Name: ";
cout<<fname;
//cout<<setw(10);
cout<<"\t";
cout<<"Last Name: "<<lname;
cout<<endl;
cout<<"City: ";
cout<<city;
cout<<"\t";
//cout<<setw(10);
cout<<"Phone Number: "<<phone;
cout<<endl;
}
};
int main(int argc, char** argv) {
BillSys obj;
obj.accept();
obj.display();
return 0;
}
模块,则会将csv
文件作为文本文件读取。在此处阅读有关读/写csv文件的文档:CSV File Reading and Writing。
此外,您只会从当前代码中获取第一页的gymsfinal.csv
内容。因为soup
函数会在创建第一个汤后返回。对于您当前的代码,您可以使用函数中的get_page_data()
,
yield
同时关闭刚打开的文件。